Spring框架中获得DataSource对象的方法

转载 2015年07月08日 15:21:19

转载自http://www.oschina.net/code/snippet_117958_4699

在Spring框架中有如下3种获得DataSource对象的方法: 
1.从JNDI获得DataSource. 
2.从第三方的连接池获得DataSource. 
3.使用DriverManagerDataSource获得DataSource.

1. [代码]JNDI方式     

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1、SpringJNDI数据源配置信息:
  <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiName">
    <value>java:comp/env/jcptDataSourceJNDI</value>
   </property>
  </bean>
  jcptDataSourceJNDI是tomcat或者其他应用服务器配置的JNDI.
 
2、关于JNDI的配置(tomcat):
  修改tomcat目录conf/context.xml文件:
  <Resource name="jcptDataSourceJNDI" auth="Container" type="javax.sql.DataSource"
      maxActive="100" maxIdle="30" maxWait="10"   username="tysp"
      password="12345678" driverClassName="oracle.jdbc.driver.OracleDriver"
      url="jdbc:oracle:thin:@192.168.1.35:1521:orcl"/> 
 
3、通过JNDI获取DataSource:
  Context context = new InitialContext();
  DataSource ds = (DataSource)context.lookup("java:comp/env/jcptDataSourceJNDI");

2. [代码]使用DBCP连接池获取     

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
要在Spring中使用DBCP连接池,需要引入commons-collections.jar、commons-dbcp.jar和commons-pool.jar。
 
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
        <property name="url" value="jdbc:oracle:thin:@192.168.1.35:1521:orcl"></property>
        <property name="username" value="or_meal"></property>
        <property name="password" value="or_meal"></property>
        <property name="maxActive" value="100"></property>
        <property name="maxIdle" value="30"></property>
        <property name="maxWait" value="10"></property>
        <property name="defaultAutoCommit" value="false"></property>
    </bean>
 
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
 
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect
                </prop>
                <prop key="show_sql">true</prop>
                <prop key="format_sql">true</prop>
            </props>
        </property>
        <property name="mappingResources">
        <list></list>
        </property>
    </bean>

3. [代码]使用DriverManagerDataSource     

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>oracle.jdbc.driver.OracleDriver
            </value>
        </property>
        <property name="url">
            <value>jdbc:oracle:thin:@192.168.1.35:orcl
            </value>
        </property>
        <property name="username">
            <value>or_meal</value>
        </property>
        <property name="password">
            <value>or_meal</value>
        </property>
    </bean>

相关文章推荐

Spring框架中获得DataSource对象的方法

 1,使用org.springframework.jdbc.datasource.DriverManagerDataSource  说明:DriverManagerDataSource建立...

【spring框架】关于DataSource(上)

DataSource的概念: 这是一个接口,可以获取数据库的Connection。是标准化的,取得连接的一种方式。 在hibernate里面是可以提供各种各样的连接池的,spring里面也可以提供数...

Spring框架--实现使用配置文件控制对象的生成

Spring框架的学习1--实现使用配置文件控制对象的生成 MyEclipse环境 新建一个Java Project,配置Spring3.1版本,在src目录下默认增加applicationConte...

spring框架Proxy-代理模式(动态生成代理对象)

Java动态代理模式  1. 代理:一个角色代表别一个角色来完成某些特定的功能。  比如:生产商,中间商,客户这三者这间的关系  客户买产品并不直接与生产商打交道,也不用知道产品是如何产生的,客户只与...
  • Alsyuan
  • Alsyuan
  • 2017年06月14日 22:14
  • 150

spring框架中的bean对象的声明周期

转载地址:http://developer.51cto.com/art/201104/255961.htm spring的产生bean对象 在spring中,从BeanFactory或Applicat...
  • alleged
  • alleged
  • 2016年09月24日 15:37
  • 119

重温spring框架1--ioc创建对象的方式

Spring是一个轻量级框架,核心思想和 ioc—-控制反转 和 aop—-依赖注入,本质上可以说是一个javaBean工厂,下图是结构图,从图中可以看出,spring包括junit单元测试、ioc...

(精简)Spring框架的IoC(替代工厂类实现方法)和AOP(定义规则,约定大于配置)

Spring的核心框架主要包含两个技术,分别用来处理工厂类,以及事务处理和连接管理的。 两大核心概念 1)  IoC:控制反转,在现在的开发中,如果想建立对象并设置属性,是需要先new对象,再通过...

Spring框架Controller层(表现层)针对方法参数是Bean时HttpServletRequest绑定参数值问题解释

在做项目的时候,有一个需求是将数据库中的信息封装到实体类返回到jsp界面 传过来的参数只是实体类的id属性,然后根据id属性去查数据库,事情就是这样,然后 结果遇到很奇怪的事情,在jsp页面中使用...

spring框架中Bean的基本属性及调用外部properties等配置文件的方法介绍

Bean的基本属性   id属性: Bean的唯一标识名。它必须是合法的XML ID,在配置文件中,不能有重复id的Bean,因为容器在获取Bean的实例时都用它来做唯一索引。 name属性: 用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring框架中获得DataSource对象的方法
举报原因:
原因补充:

(最多只允许输入30个字)