В моей конструкции все мое DAOS наследовать от родительского класса, этот родительский класс содержит поле hibernateTemplate и setSessionFactory, которая создает hibernateTemplate от установки сеанса с помощью пружинногоВесна инъекция SessionFactory с наследованием дает NullPointers
Проблема здесь в том, что, хотя кажется, что она установлена, но когда я на самом деле выполняю код, а daos называются hibernateTemplate, объект кажется нулевым. ОДНАКО, когда я впрыснуть объект Dao вместо родительского общего класса с сессией заводом он работает как шарм
Часть класса AbstractDaoSupport
/** The hibernate template. */
private HibernateTemplate hibernateTemplate;
/**
* Sets the session factory.
*
* @param sessionFactory the new session factory
*/
public void setSessionFactory(SessionFactory sessionFactory) {
this.setHibernateTemplate(new HibernateTemplate(sessionFactory));
}
/**
* Sets the hibernate template.
*
* @param hibernateTemplate the hibernateTemplate to set
*/
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
Это текущая проблематичная код где hibernateTemplate является нулевым при запуске
<!-- the DataSource for application usage -->
<bean id="applicationDataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/taxidb"/>
<property name="username" value="root"/>
<property name="password" value="abc"/>
</bean>
<bean id="daoSessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="applicationDataSource" />
<property name="annotatedClasses">
<list>
<value>com.iit.awt.application.domain.Driver</value>
<value>com.iit.awt.application.domain.DriverRealTimeCurrentLocation</value>
<value>com.iit.awt.application.domain.Journey</value>
<value>com.iit.awt.application.domain.Customer</value>
<value>com.iit.awt.application.domain.SystemConstants</value>
<value>com.iit.awt.application.domain.DriverRequest</value>
<value>com.iit.awt.application.domain.Account</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="daoSessionFactory"/>
</bean>
<!-- JPA Daos -->
<bean id="abstractDaoSupport" class="com.iit.awt.platform.support.AbstractDaoSupport">
<property name="sessionFactory" ref="daoSessionFactory" />
</bean>
И это когда код работает вместо последних кусочков коды выше под «JPA Daos» комментарий следующий есть
<bean id="driverLocationDao" class="com.iit.awt.application.dao.impl.DriverLocationDaoImpl">
<property name="sessionFactory" ref="daoSessionFactory" />
</bean>
Другая вещь, чтобы отметить, что класс был ранее абстрактным и я пытался, что с «абстрактным = истинный», а также иметь его неабстрактных текущий путь
Кто-нибудь есть идея о том, почему hibernateTemplate объект имеет значение null?
Любая помощь очень ценится
Пожалуйста, пост сигнатуру класса из ваших abstractdao –