Spring获得DataSource

一、从JNDI获得DataSource

1.1、Spring JNDI数据源配置信息

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
       <value>java:comp/env/jcptDataSourceJNDI</value>
    </property>
</bean>

jcptDataSourceJNDI是tomcat或者其他应用服务器配置的JNDI

1.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" />

1.3、通过 JNDI 获取 DataSource

Context context = new InitialContext();
DataSource ds =(DataSource)context.lookup("java:comp/env/jcptDataSourceJNDI");

二、从第三方的连接池获得DataSource

<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="dataSource" />
    <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>

三、使用DriverManagerDataSource获得DataSource

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring框架提供了许多内置的DataSource实现,其中最常用的是org.springframework.jdbc.datasource.DriverManagerDataSource,它是一个简单的基于JDBC驱动程序的DataSource实现,可以通过在应用程序的配置文件中声明来使用。另外,Spring还提供了许多其他的DataSource实现,如org.springframework.jndi.JndiObjectFactoryBean、org.springframework.jdbc.datasource.SingleConnectionDataSource等,可以根据应用程序的需求选择适合的DataSource实现。 ### 回答2: Spring框架中的默认DataSource是基于Apache Commons DBCP (Database Connection Pool)实现的。DBCP是一个开源的连接池库,用于管理数据库连接以提高性能和可靠性。 Spring的默认DataSource会自动配置一些基本的数据库连接池属性,如最小空闲连接数、最大活动连接数、最大等待时间等。这些属性可以通过在配置文件中进行调整以满足应用程序的需求。 Spring的默认DataSource还支持事务管理和连接池监控。事务管理可以通过配置Spring的声明式事务来使用,确保在事务中的所有数据库操作都能得到正确的提交或回滚。连接池监控可以通过配置Spring的监控功能来实现,以便在需要时查看连接池的使用情况和性能统计数据。 总体而言,Spring的默认DataSource是一个可靠且易于使用的数据库连接池实现,可以在应用程序中轻松地使用和配置。使用Spring的默认DataSource可以减少手动管理数据库连接的复杂性,并提高应用程序的性能和可维护性。如有特殊需求,也可以通过自定义DataSource的方式来替换Spring的默认实现。 ### 回答3: Spring框架的默认DataSource是由HikariCP提供的。HikariCP是一个高性能的连接池,被广泛用于Java应用程序中。 在Spring中,默认的DataSource配置如下: ```xml <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="password"/> </bean> ``` 这里使用的是`DriverManagerDataSource`,它是Spring提供的一个基于JDBC驱动管理的DataSource实现。 默认的DataSource可以通过简单地配置来满足大多数应用程序的数据访问需求。但对于大型应用或需要更高级配置的情况,可以使用其他DataSource实现,如`org.apache.commons.dbcp2.BasicDataSource`或`com.zaxxer.hikari.HikariDataSource`等。 使用默认的DataSource时,可以通过在配置文件中定义dataSource bean的属性来指定数据库的连接信息,如驱动类名、数据库URL、用户名和密码等。 总结来说,Spring的默认DataSource是由HikariCP提供的高性能连接池,可以通过简单的配置来满足大多数应用程序的数据访问需求。如果有更高级的配置需求,可以使用其他DataSource实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值