【发布时间】:2014-06-11 10:58:20
【问题描述】:
我正在尝试创建一个使用 JdbcTemplate 和 SpringDaoSupport 的 Spring Web 应用程序。当我通过 dispatcher-servlet xml 定义数据源 bean 时,它工作正常。即
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
<property name="username" value="system"/>
<property name="password" value="password1$"/>
</bean>
但是每当我尝试通过程序配置dataSource bean时,它就会出现异常。配置如下:
在代码中:
@Configuration
public class AppConfig {
@Bean
public DriverManagerDataSource dataSource() {
DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
driverManagerDataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
driverManagerDataSource.setUrl("jdbc:oracle:thin:@localhost:1521:XE");
driverManagerDataSource.setUsername("username");
driverManagerDataSource.setPassword("password");
return driverManagerDataSource;
}
}
在 XML 中:
<bean id="dataSource" class="com.example.AppConfig" />
【问题讨论】:
-
请添加您的异常堆栈跟踪。
-
这个以
dataSource为 id 的 AppConfig 是什么?看起来你在这里混合了两个概念。您的配置类不需要有 id,因为这只是 bean 配置的容器。在您的 java 代码中,默认情况下,bean 将使用方法的名称公开(正如您所期望的那样,dataSource)
标签: spring spring-mvc datasource jdbctemplate