我想在Java SE应用程序中使用JNDI配置数据源。做这个的最好方式是什么?
到目前为止,我遇到了两个项目:
LocalOnlyContextFactory
如果可能,我还要使用JTA事务管理器(使用JOTM?)配置数据源。
您为什么为此使用JNDI?如果您有提供程序,那并不是一个不好的解决方案,而是有诸如依赖注入(IoC:通过Spring或Guice)之类的替代方法。
这里描述了 Spring JDBC数据访问。很棒的是,您可以使用Spring将a DataSource注入代码中:
DataSource
<bean class="com.my.Persister"> <property name="dataSource" ref="dataSource" /> </bean>
可以使用JNDI查找来定义数据源:
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/MyDataSource" />
在测试环境中,您可以直接注入数据源:
<bean id="dataSource" class="apache.db.PoolingDataSource"> <!-- config goes here --> </bean>