Usamos Spring's JdbcTemplate
que se configura a través de Spring config como se ilustra a continuación. ¿Hay alguna manera de hacer esto sin inyectar la fuente de datos? Me gustaría simplemente crear la instancia JdbcTemplate
programáticamente e "initalizar" la fuente de datos usando TheOracleDS
.¿Cómo se usa programáticamente JdbcTemplate de Spring?
Nuestra configuración actual:
clase Java
private JdbcTemplate jdbcTemplate;
@Resource(name = "myDataSource")
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
config primavera
<jee:jndi-lookup id="myDataSource" jndi-name="java:/TheOracleDS"/>
Oracle fuente de datos de configuración
<xa-datasource>
<jndi-name>TheOracleDS</jndi-name>
...
</xa-datasource>
actualización: Razón por la que estoy pidiendo esto es que no soy un creyente en el total de la inyección de dependencias/tener Primavera gestionar los granos ..
La verdadera pregunta es: ¿por qué no es deseable la inyección aquí? ¿Qué está haciendo de la forma en que propones comprarte? – duffymo
He pasado la ruta de no inyección antes con Spring JDBC, pero solo para las clases de utilidad donde solo quiero ejecutar un método principal para verificar algo en la base de datos. En ese caso, escribir un XML y buscarlo parece un poco exagerado. Sin embargo, una vez que JNDI está en la mezcla, parece que realmente no hay un caso para evitar el uso de la inyección. –