cpds = new ComboPooledDataSource();
cpds.setDriverClass("com.mysql.jdbc.Driver");
cpds.setJdbcUrl("jdbc:mysql://localhost:3306/db_shangcheng?useUnicode=true;characterEncoding=utf8");
cpds.setUser("root");
cpds.setPassword("520168");
按我的理解,spring3配置文件中已配置好c3p0数据连接池:已设置好数据库驱动、连接串,用户名和密码,我想在java代码中应该直接可以获取c3p0数据源连接,为什么还要在java代码还要设置一遍,才能连接数据呢?求解释,或告诉怎么在java中正确获取spring3中配置好的c3p0数据连接池?
7 个解决方案
#1
直接通过SpringConext获取你配置好的dataSource就可以了。
#2
#3
请问如何获取的呢?能不能说具体点呢?
#4
@autowire
DataSource dataSource;
#5
<!-- 配置dbcp数据源 -->
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 队列中的最小等待数 -->
<property name="minIdle" value="${jdbc.minIdle}"></property>
<!-- 队列中的最大等待数 -->
<property name="maxIdle" value="${jdbc.maxIdle}"></property>
<!-- 最长等待时间,单位毫秒 -->
<property name="maxWait" value="${jdbc.maxWait}"></property>
<!-- 最大活跃数 -->
<property name="maxActive" value="${jdbc.maxActive}"></property>
<property name="initialSize" value="${jdbc.initialSize}"></property>
</bean>
取这个bean实例,就是你要的吧。
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 队列中的最小等待数 -->
<property name="minIdle" value="${jdbc.minIdle}"></property>
<!-- 队列中的最大等待数 -->
<property name="maxIdle" value="${jdbc.maxIdle}"></property>
<!-- 最长等待时间,单位毫秒 -->
<property name="maxWait" value="${jdbc.maxWait}"></property>
<!-- 最大活跃数 -->
<property name="maxActive" value="${jdbc.maxActive}"></property>
<property name="initialSize" value="${jdbc.initialSize}"></property>
</bean>
取这个bean实例,就是你要的吧。
#6
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
ComboPooledDataSource dataSource= (ComboPooledDataSource)ac.getBean("dataSource");
因为c3p0配置在spring中,首先你要获取到spring上下文的对象,然后getBean就可以得到了
ComboPooledDataSource dataSource= (ComboPooledDataSource)ac.getBean("dataSource");
因为c3p0配置在spring中,首先你要获取到spring上下文的对象,然后getBean就可以得到了
#7
请问这个问题最后怎么解决的?怎么获取呢?我也遇到了这个问题。谢谢。
#1
直接通过SpringConext获取你配置好的dataSource就可以了。
#2
#3
直接通过SpringConext获取你配置好的dataSource就可以了。
请问如何获取的呢?能不能说具体点呢?
#4
直接通过SpringConext获取你配置好的dataSource就可以了。
请问如何获取的呢?能不能说具体点呢?
@autowire
DataSource dataSource;
#5
<!-- 配置dbcp数据源 -->
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 队列中的最小等待数 -->
<property name="minIdle" value="${jdbc.minIdle}"></property>
<!-- 队列中的最大等待数 -->
<property name="maxIdle" value="${jdbc.maxIdle}"></property>
<!-- 最长等待时间,单位毫秒 -->
<property name="maxWait" value="${jdbc.maxWait}"></property>
<!-- 最大活跃数 -->
<property name="maxActive" value="${jdbc.maxActive}"></property>
<property name="initialSize" value="${jdbc.initialSize}"></property>
</bean>
取这个bean实例,就是你要的吧。
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 队列中的最小等待数 -->
<property name="minIdle" value="${jdbc.minIdle}"></property>
<!-- 队列中的最大等待数 -->
<property name="maxIdle" value="${jdbc.maxIdle}"></property>
<!-- 最长等待时间,单位毫秒 -->
<property name="maxWait" value="${jdbc.maxWait}"></property>
<!-- 最大活跃数 -->
<property name="maxActive" value="${jdbc.maxActive}"></property>
<property name="initialSize" value="${jdbc.initialSize}"></property>
</bean>
取这个bean实例,就是你要的吧。
#6
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
ComboPooledDataSource dataSource= (ComboPooledDataSource)ac.getBean("dataSource");
因为c3p0配置在spring中,首先你要获取到spring上下文的对象,然后getBean就可以得到了
ComboPooledDataSource dataSource= (ComboPooledDataSource)ac.getBean("dataSource");
因为c3p0配置在spring中,首先你要获取到spring上下文的对象,然后getBean就可以得到了
#7
请问这个问题最后怎么解决的?怎么获取呢?我也遇到了这个问题。谢谢。