Я пытаюсь внедрить объект источника данных в сервлет. У меня есть регистратор для печати в заданном методе. Работает нормально при предварительной инициализации. Но когда я запрашиваю сервлет, он дает мне исключение nullPointerException.
Любое предложение о том, почему это произошло? (Я не думаю, что это связано с сервлетом, который я расширяю)
Вот приложениеContext.xml
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<bean id="dataServlet" class="com.mycom.util.DataServlet">
<property name="dataSource" ref="dataSource" />
<property name="test" value="dataSource" />
</bean>
сервлет
public class DataServlet extends DataSourceServlet {
...
@Autowired
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
logger.log(Level.INFO, "Inj: datasrc");
}
@Autowired
public void setTest(String test) {
this.test = test;
logger.log(Level.INFO, "Set Test {0}", this.test);
}
}
Я установил точку останова @ setTest, она разбивает @ pre-init. но когда фактическим объектом является запрос. Это не нарушает @ setTest.
Почему это так? (синглтон / сфера связана?)
Пожалуйста, сообщите!
Заранее спасибо!