Inyectar en primavera o fuente automática de datos del bean a la clase
Esta puede ser una pregunta muy novicia, pero he buscado y tengo una gran brecha en mi entendimiento o estoy haciendo algo incorrectamente que no puedo entender.
En mi archivo de contexto aquí hay un extracto
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${datasource.driverClassName}" />
<property name="url" value="${datasource.url}" />
<property name="username" value="${datasource.username}" />
<property name="password" value="${datasource.password}" />
</bean>
<bean id="myBeanOne" class="a.b.c.myBeanOne">
<property name="dataSource" ref="dataSource" />
</bean>
Ahora en myBeanOne tengo:
private DataSource dataSource;
private JdbcTemplate jdbcTemplate;
@Autowired
public void setDataSource (DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
public void myMethod() {
String sql = "'My generic SQL update query'";
try {
this.jdbcTemplate.update(sql);
} catch (org.springframework.dao.EmptyResultDataAccessException ex) {
}
System.exit(0);
}
cuando intento ejecutar esto en la línea donde se invoca setDataSource, aparece este error:
ERROR org.springframework.integration.handler.LoggingHandler
org.springframework.integration.MessageHandlingException:
java.lang.NullPointerException
en la línea:this.jdbcTemplate.update(sql);
He intentado tal vez diez configuraciones diferentes para que esto funcione, pero parece que no puedo hacerlo. Cualquier ayuda es apreciada, gracias.
Editar: según el comentario de Luiggi:
//in yet another classes run method
myBeanOne bOne = SomeOtherClass.create(); //just returns new myBeanOne
bOne.myMethod();
Ni SomeOtherClass ni esta clase se clasifican como beans en el contexto o tienen presencia en el contexto.
Sé que esta es una pregunta muy básica pero estoy luchando con ella.
Gracias por su paciencia.