spring in action学习笔记十六:配置数据源的几种方式
第一种方式:JNDI的方式。
用xml配置的方式的代码如下:
1 <jee:jndi-lookup jndi-name="/jdbc/spittrDS" resource-ref="true" id="dataSource"/>
用注解方式的代码如下:
1 @Bean
2 public JndiObjectFactoryBean jndiObjectFactoryBean(){
3 JndiObjectFactoryBean jndiObjectFactoryBean = new JndiObjectFactoryBean();
4 jndiObjectFactoryBean.setJndiName("jdbc/SpittrDS");
5 jndiObjectFactoryBean.setResourceRef(true);
6 jndiObjectFactoryBean.setProxyInterface(DataSource.class);
7 return jndiObjectFactoryBean;
8 }
第二种方式:用连接池的形式:
1.Apache Commons DBCP(Database Connection Pool) (http://jakarta.apache.org/commons/dbcp)
2.c3p0(http://sourceforge.net/projects/c3p0)
3.BoneCP(http://jolbox.com/)
现以BasicDataSource为例进行配置。
xml配置的形式:
1 <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
2 p:driverClassName=""
3 p:password=""
4 p:username=""
5 p:initialSize="3"
6 p:maxIdle="5"/>
注解的形式:
1 @Bean
2 public BasicDataSource dataSource(){
3 BasicDataSource dataSource = new BasicDataSource();
4 dataSource.setDriverClassName("");
5 dataSource.setPassword("");
6 dataSource.setUrl("");
7 dataSource.setUsername("");
8 dataSource.setInitialSize(5);
9 dataSource.setMaxIdle(6);
10 return dataSource;
11 }
第三种方式:用spring提供的类进行数据源的配置
spring用于提供数据源配置的类总共有三个:分别是:DriverManagerDataSource,SimpleDriverDataSource,SingleConnectionDataSource.
这三个类配置数据源的方法与第二种形式相同。这里就不在赘述。
spring in action学习笔记十六:配置数据源的几种方式的更多相关文章
- spring in action 学习笔记十四:用纯注解的方式实现spring mvc
在讲用纯注解的方式实现springmvc之前先介绍一个类:AbstractAnnotationDispatcherServletInitializer.这个类的作用是:任何一个类继承AbstractA ...
- spring in action学习笔记十五:配置DispatcherServlet和ContextLoaderListener的几种方式。
在spring in action中论述了:DispatcherServlet和ContextLoaderListener的关系,简言之就是DispatcherServlet是用于加载web层的组件的 ...
- spring in action 学习笔记十:用@PropertySource避免注入外部属性的值硬代码化
@PropertySource的写法为:@PropertySource("classpath:某个.properties文件的类路径") 首先来看一下这个案例的目录结构,重点看带红 ...
- python3.4学习笔记(十六) windows下面安装easy_install和pip教程
python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...
- MyBatis配置数据源的两种方式
---------------------siwuxie095 MyBatis 配置数据源的两种方式 1.配置方 ...
- spring in action学习笔记一:DI(Dependency Injection)依赖注入之CI(Constructor Injection)构造器注入
一:这里先说一下DI(Dependency Injection)依赖注入有种表现形式:一种是CI(Constructor Injection)构造方法注入,另一种是SI(Set Injection) ...
- python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作
django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...
- (C/C++学习笔记) 十六. 预处理
十六. 预处理 ● 关键字typeof 作用: 为一个已有的数据类型起一个或多个别名(alias), 从而增加了代码的可读性. typedef known_type_name new_type_nam ...
- 十四、Android学习笔记_Android回调函数触发的几种方式 广播 静态对象
一.通过广播方式: 1.比如登录.假如下面这个方法是外界调用的,那么怎样在LoginActivity里面执行登录操作,成功之后在回调listener接口呢?如果是平常的类,可以通过构造函数将监听类对象 ...
随机推荐
- 近年来爆发的CVE漏洞编号
1.Office漏洞 Office漏洞是大部分APT组织最喜爱的漏洞,Office在个人办公电脑使用量大,对针对性目标是最佳的外网入口,效果也是最直接的. CVE编号 漏洞类型 使用组织 CVE-2 ...
- Java OOP——第五章 异常
1. 尝试通过if-else来解决异常问题: Eg: public class Test2 { public static void main(String[] args) { ...
- Nginx技术深入剖析
Nginx软件功能模块说明 核心功能模块(Core functionality):主要对应配置文件的Main区块和Events区块. 标准的http功能模块: 企业 场景常用的Nginx http功能 ...
- SVN 的基本用法
克隆远程库 # svn checkout $URL --username=$userName 显示库信息 # svn info 显示库状态 # svn status 将文件纳入版本管理 # svn a ...
- Android 第三方库RxLifecycle使用
1.简单介绍RxLifecycle 1.1.使用原因. 在使用rxjava的时候,如果没有及时解除订阅,在退出activity的时候,异步线程还在执行. 对activity还存在引用,此时就会产生内存 ...
- MyBatis---缓存策略cache的使用
一般在查询时使用 使用步骤 1.配置config.xml,开启缓存 <setting name=”cacheEnabled” value=”true” /> 2.在Mapper文件头指定使 ...
- poj2001Shortest Prefixes(trie)
Shortest Prefixes Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 18687 Accepted: 808 ...
- webstrom Certificate validation failed
今天好烦.因为装了一个webstrome,我的svn不管用了. 为了防止webstrom,我的日期改了,日期改了,csdn登不上去了.告诉我时期不对. 草草哦哦. 这就是那个svn出问题之后的画面. ...
- 二分查找iOS
二分查找(也称折半查找)是很常见的一种在数组中查找数据的算法,作为一名程序员是应该必须会的.它的基础思想:获取数组的中间值,将数组分割成两份,利用查找的值跟中间值进行比较,如果查找的值大于中间值,就在 ...
- groupNoAdj
public boolean groupNoAdj(int start, int[] nums, int target) { if( start >= nums.length){ return ...