spring in action学习笔记十六:配置数据源的几种方式

Posted 技术让世界更精彩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 4 学习笔记Spring概览

spring in action学习笔记七:@Conditional注解的用法

spring in action 学习笔记十三:SpEL语言(Spring Expression Language)

SPRING IN ACTION 第4版笔记-第五章BUILDING SPRING WEB APPLICATIONS-003-示例项目用到的类及配置文件

SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-001- DispatcherServlet的高级配置(ServletRegistration.Dynami

spring in action 学习笔记九:如何证明在scope为prototype时每次创建的对象不同。