spring HibernateDaoSupport

0

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

0

Zrobilem teraz wedlug troszke innej konwencji. Wie ktos co moze oznaczac blad:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'rejonLogic' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Unsatisfied dependency expressed through bean property 'postInterceptors': No bean named '&rejonLogic' is defined
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1119)

W applicationContext to wyglada tak:

    <bean id="rejonDao" class="vrp.dao.RejonDaoImpl">
        <property name="sessionFactory" ref ="sessionFactory"/>
    </bean>

    <bean id="rejonLogicTarget" class="vrp.logic.RejonLogic">
        <property name="rejonDao"><ref bean="rejonDao"/></property>
    </bean>

    <bean id="rejonLogic" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager" ref="transactionManager"/>
        <property name="target" ref="rejonLogicTarget"/>
        <property name="transactionAttributes">
            <props>
                <prop key="*">PROPAGATION_REQUIRED</prop>
            </props>
        </property>
    </bean>

1 użytkowników online, w tym zalogowanych: 0, gości: 1