【发布时间】:2009-11-22 16:35:49
【问题描述】:
我们使用 Spring 的 JdbcTemplate,它是通过 Spring config 配置的,如下图所示。有没有办法在不注入数据源的情况下做到这一点?我想以编程方式创建JdbcTemplate 实例并使用TheOracleDS“初始化”数据源。
我们当前的配置:
Java 类
private JdbcTemplate jdbcTemplate;
@Resource(name = "myDataSource")
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
弹簧配置
<jee:jndi-lookup id="myDataSource" jndi-name="java:/TheOracleDS"/>
Oracle 数据源配置
<xa-datasource>
<jndi-name>TheOracleDS</jndi-name>
...
</xa-datasource>
更新:我问这个的原因是我不完全相信依赖注入/让 Spring 管理 bean..
【问题讨论】:
-
真正的问题是:为什么这里不需要注入?你提议买你的方式是什么?
-
我之前使用 Spring JDBC 采用了非注入路线,但仅适用于我只想运行 main 方法来检查数据库中的内容的实用程序类。在这种情况下,编写 XML 并进行查找似乎有点矫枉过正。然而,一旦 JNDI 加入其中,似乎真的没有必要避免使用注入。
标签: java spring dependency-injection spring-jdbc