Witam,
Na swoje nieszczescie chcialem zrobic aplikacje z wykorzystaniem tak bardzo uwielbianego Springa. Rezultat jest taki. ze pewnie bym juz ja skanczyl, a tak jeszcze nie zaczelem. A oto moj problem: Chcialbym wykorzystac HiberanteDaoSupport, robie wiec w ten sposob:
kalsaDao:
public class RejonDaoImpl
extends HibernateDaoSupport
implements RejonDao {
public void setRejon(Rejon rejon) {
Session session=getSession();
session.save(rejon);
}
}
Czesc applicationCntext:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="sampleDataSource" />
<property name="annotatedClasses">
<list>
<value>vrp.encje.Rejon</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect"> org.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
</props>
</property>
</bean>
<bean id="rejonDao" class="vrp.dao.RejonDaoImpl">
<property name="sessionFactory" ref ="sessionFactory"/>
</bean>
i otrzymuje wyjatek:
SEVERE: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:140)
w klasie dao w linii:
Session session=getSession();
Cos jakby nie bardzo dzialalo to wstrzykiwanie ;/ Co ciekawe, nawet Hibernate nie bardzo cos wspolpracuje. Chodz mam info ze otworzył schemat w bazie danych (INFO: exporting generated schema to database) to w bazie nic sie nie pojawia. Albo cos zle robie, albo ten spring jest jakis toporny...
I jeszcze jedno, ten zapisywanie przykladowego rejonu wykonuje z poziomu servletu:
RejonDaoImpl localRejon= new RejonDaoImpl();
localRejon.setRejon(zl);
Chcialem wstrzykiwac tego wina adnotacja @Autowired, ale oczywiscie tak wstrzykniety bean mial wartosc nuyll.
Prosze o pomoc