这几天在学习spring,遇到个基础问题,希望能帮帮我
设置了Annotation自动扫描,<context:component-scan base-package="com.test" />
控制台已经显示成功创建SessionFactory,但是在DAO中sessionFactory得到的是null.
其它类中的也没法实现注入。郁闷好长时间了,求高手给予指正

解决方案 »

  1.   

    补充一下 :
    @Autowired
    public void setSessionFactory( SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
       System.out.print("Set the sessionFactory success!");
    }
      

  2.   

    怎么没人来接分?CSDN不是很热闹的吗?
      

  3.   

    看看SessionFactory这个类你怎么写的
      

  4.   

    弱弱地问一下,applicationContext.xml里有这个bean吗?
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
      

  5.   

    这是sessionFactory那个Bean: <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.MySQLDialect
    </prop>
    <prop key="hibernate.hbm2ddl.auto">update</prop>
    </props>
    </property>
    <property name="packagesToScan" value="com.test.model.*" />
    </bean>
      

  6.   

    最后我甚至在下面补充使用手工配置:
    <bean id="simpleHibernateDao"
    class="com.yunkj.core.orm.hibernate.SimpleHibernateDao">
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>也不见打出东西来
    @Autowired 
    public void setSessionFactory( SessionFactory sessionFactory) { 
    this.sessionFactory = sessionFactory; 
      System.out.print("Set the sessionFactory success!"); 
    }
      

  7.   

    @Autowired 
    private SessionFactory sessionFactory;
      

  8.   

    @Autowired 
    private SessionFactory sessionFactory;这样还是不行,sessionFactory还是等于NULL
      

  9.   

    那个要注入的类用这种方式注入看看
    @Component("sessionFactory")
      

  10.   


    普通方式我也用了
    <bean id="simpleHibernateDao"
    class="com.yunkj.core.orm.hibernate.SimpleHibernateDao">
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    仍然得不到sessionFactory
      

  11.   


    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    换成
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    先用配置试试