使用 java 配置文件在 Spring 中设置 JDBCTemplate
setting up JDBCTemplate in Spring using java configuration file
我在 Spring 中读到,设置 JDBCTemplate 的一个好方法是在 Spring 配置文件中添加它:
<jee:jndi-lookup id="dbDataSource" jndi-name="jdbc/AOICMainDB" expected-type="javax.sql.DataSource" />
<bean id="jdbcTemplateDB2" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dbDataSource" />
</bean>
这很有意义,现在我们可以在 DAO 中自动装配 jdbcTemplateDB2 并用它做 jdbcTemplate 的事情。
但是我该如何使用 java 配置文件进行设置?具体来说,我不确定 jee: 命名空间如何转换为 java confg.
您的问题应该是:谁在 运行 提供将数据源提供给我的应用程序的 JNDI 服务?
如果您的应用程序没有 运行 在具有可用 JNDI 服务的 Java EE 应用程序服务器上,答案是 "No one." 您应该使用 DriverManager
数据在这种情况下来源。
如果您的应用程序在 Java EE 应用程序服务器上 运行 并提供可用的 JNDI 服务,您必须知道如何在池中设置数据源。
jee:jndi-查找只是 JndiObjectFactoryBean 的语法糖。
spring 文档提供了前后示例,如下所示:
之前……
<bean id="simple" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/MyDataSource"/>
</bean>
之后…
<jee:jndi-lookup id="simple" jndi-name="jdbc/MyDataSource">
</jee:jndi-lookup>
现在要将其转换为 java 配置,您需要执行如下操作:
@Bean
public JndiObjectFactoryBean simple() {
JndiObjectFactoryBean bean = new JndiObjectFactoryBean();
bean.setJndiName("jdbc/MyDataSource");
return bean;
}
然后您可以从 bean 中检索 jndi 对象。
参考文献:
免责声明:public void afterPropertiesSet() 必须 运行 填充 jndi 对象。
我在 Spring 中读到,设置 JDBCTemplate 的一个好方法是在 Spring 配置文件中添加它:
<jee:jndi-lookup id="dbDataSource" jndi-name="jdbc/AOICMainDB" expected-type="javax.sql.DataSource" />
<bean id="jdbcTemplateDB2" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dbDataSource" />
</bean>
这很有意义,现在我们可以在 DAO 中自动装配 jdbcTemplateDB2 并用它做 jdbcTemplate 的事情。
但是我该如何使用 java 配置文件进行设置?具体来说,我不确定 jee: 命名空间如何转换为 java confg.
您的问题应该是:谁在 运行 提供将数据源提供给我的应用程序的 JNDI 服务?
如果您的应用程序没有 运行 在具有可用 JNDI 服务的 Java EE 应用程序服务器上,答案是 "No one." 您应该使用 DriverManager
数据在这种情况下来源。
如果您的应用程序在 Java EE 应用程序服务器上 运行 并提供可用的 JNDI 服务,您必须知道如何在池中设置数据源。
jee:jndi-查找只是 JndiObjectFactoryBean 的语法糖。
spring 文档提供了前后示例,如下所示:
之前……
<bean id="simple" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/MyDataSource"/>
</bean>
之后…
<jee:jndi-lookup id="simple" jndi-name="jdbc/MyDataSource">
</jee:jndi-lookup>
现在要将其转换为 java 配置,您需要执行如下操作:
@Bean
public JndiObjectFactoryBean simple() {
JndiObjectFactoryBean bean = new JndiObjectFactoryBean();
bean.setJndiName("jdbc/MyDataSource");
return bean;
}
然后您可以从 bean 中检索 jndi 对象。
参考文献:
免责声明:public void afterPropertiesSet() 必须 运行 填充 jndi 对象。