各们帮忙看一下,为什么spring引用不到jdbcTemplate?

2019-03-25 13:34|来源: 网路

public class DBUtils {

private String jdbcDriver;
private String jdbcUrl;
private String jdbcUser;
private String jdbcPwd;
private String dataBaseProductName;
private String appServerName;

protected JdbcTemplate jdbcTemplate;
protected LobHandler lobHandler;
protected NativeJdbcExtractor nativeJdbcExtractor;
...
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}

public void setLobHandler(LobHandler lobHandler) {
this.lobHandler = lobHandler;
}

public void setNativeJdbcExtractor(NativeJdbcExtractor nativeJdbcExtractor) {
this.nativeJdbcExtractor = nativeJdbcExtractor;
}
}
---------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.1.xsd">

<context:property-placeholder location="classpath:jdbc.properties" />

<bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="minPoolSize" value="${pool.minPoolSize}" />
<property name="maxPoolSize" value="${pool.maxPoolSize}" />
<property name="maxIdleTime" value="${pool.maxIdleTime}" />
<property name="acquireIncrement" value="${pool.acquireIncrement}" />
<property name="maxStatements" value="${pool.maxStatements}" />
<property name="initialPoolSize" value="${pool.initialPoolSize}" />
<property name="idleConnectionTestPeriod" value="${pool.idleConnectionTestPeriod}" />
<property name="acquireRetryAttempts" value="${pool.acquireRetryAttempts}" />
<property name="breakAfterAcquireFailure" value="${pool.breakAfterAcquireFailure}" />
<property name="testConnectionOnCheckout" value="${pool.testConnectionOnCheckout}" />
</bean>

<bean id="c3p0JdbcTemplate " class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="c3p0DataSource" />
</bean>

<bean id="oracleLobHandler" lazy-init="true"
class="org.springframework.jdbc.support.lob.OracleLobHandler">
<property name="nativeJdbcExtractor" ref="c3p0NativeJdbcExtractor" />
</bean>

<bean id="c3p0NativeJdbcExtractor" lazy-init="true"
class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor" />

<bean id="dbUtils" class="test.DBUtils ">
<property name="jdbcTemplate" ref="c3p0JdbcTemplate" />
<property name="lobHandler" ref="oracleLobHandler" />
<property name="nativeJdbcExtractor" ref="c3p0NativeJdbcExtractor" />
</bean>

</beans>
-----------------------------------------------------------------------------------------------------
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-JDBC.xml</param-value>
</context-param>

<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>
-----------------------------------------------------------------------------------------------------
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dbHelper' defined in class path resource [applicationContext-JDBC.xml]: Cannot resolve reference to bean 'c3p0JdbcTemplate' while setting bean property 'jdbcTemplate'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'c3p0JdbcTemplate' is defined
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'c3p0JdbcTemplate' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:553)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
... 16 more

 

相关问答

更多
  • JdbcTemplate将我们使用的JDBC的流程封装起来,包括了异常的捕捉、SQL的执行、查询结果的转换等等。 spring大量使用Template Method模式来封装固定流程的动作,XXXTemplate等类别都是基于这种方式的实现。 除了大量使用Template Method来封装一些底层的操作细节,spring也大量使用callback方式类回调相关类别的方法以提供JDBC相关类别的功能,使传统的JDBC的使用者也能清楚了解spring所提供的相关封装类别方法的使用。 你自己 在看看 源代码 就 ...
  • 使用Spring Cloud构建实际的微服务架构。 基本概念: 使用Docker进行集成测试 混合持久化 微服务架构 服务发现 API网关 Docker 使用Docker对每一个服务进行构建和部署。使用Docker Compose在一个开发机上进行端到端的集成测试
  • 查询时使用联合索引的一个字段,如果这个字段在联合索引中所有字段的第一个,那就会用到索引,否则就无法使用到索引。 例如联合索引 IDX(字段A,字段B,字段C,字段D),当仅使用字段A查询时,索引IDX就会使用到;如果仅使用字段B或字段C或字段D查询
  • spring
  • 你所说的LINUX自带的这些命令应该算是busybox里的工具软件。有没有unzip具体还得看busybox有没有带unzip的代码,以及代码是否编译进去了。我本地有个1.16版的busybox源码,是包含unzip代码的。只要menuconfig里选上他就会有unzip命令。 另外android的默认命令还不能算是busybox,因为精简过太多了。当然你如果另外装了busybox的话,应该能和默认一样。但是有没有unzip还是得看你装的版本是否有预编译他。
  • 我的也是啊,有些关不掉,有时候杀进程反而进程会增多,奇了怪了
  • 我也是个初中生,成绩在年段前五,我从六年级就开始学习编程了,对这个兴趣还是挺大,并不会耽误很多时间,对以后发展很有用,重点是看你对编程的兴趣如何
  • 将其注入并分享。 不要叫“新”; 它将控制权从Spring bean工厂手中夺走。 Inject it in and share it. Don't call "new"; that takes control out of the hands of the Spring bean factory.
  • 不,那是整个交易。 使用JdbcTemplate,它将管理资源(Connection,PreparedStatement,ResultSet)。 它是模板方法设计模式的实现 。 Javadoc : 它简化了JDBC的使用,并有助于避免常见错误。 它执行核心JDBC工作流程,使应用程序代码提供SQL并提取结果。 No. That's the whole deal. Use the JdbcTemplate and it will manage the ressources (Connection, Prepa ...