2012-04-26 21 views
0

春と休止状態のjavaプロジェクト、sessionFactory.itのnullをいつでも使用できません。設定:はsessionFactoryを取得できません

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
    <property name="dataSource"> 
     <ref bean="dataSource" /> 
    </property> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect"> 
       org.hibernate.dialect.Oracle9Dialect 
      </prop> 
     </props> 
    </property> 
</bean> 

<bean id="test" class="test.Test"> 
    <property name="sessionFactory" ref="sessionFactory"></property> 
</bean>` 

Test.javaのメインコードは実際には、注射のために春を使用しないmain方法で

 private SessionFactory sessionFactory; 

    public void setSessionFactory(SessionFactory sessionFactory) { 
     this.sessionFactory = sessionFactory; 
    } 
    public SessionFactory getSessionFacoty(){ 
     return this.sessionFactory; 
    } 
     public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    Test test = new Test(); 
    System.out.println(test.sessionFactory); 
} 
+0

ここで、どのようにsessionFactoryが設定/初期化されていると思いますか?それはそうではありません。 – NimChimpsky

答えて

2

あなたのテストです。 applicationContext.xmlをロードしてから、test beanを取得する必要があります。

だから、あなたはあなたのメインの中でこのような何かを行うことができます:

ApplicationContext context = 
new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml"}); 

Test test = (Test)context.getBean("test"); 
+0

問題は解決しました、ありがとう – Dumlys

1

あなたにも春のコンテキストからテストオブジェクトを取得する必要があります。 config xmlを読み込んでコンテキストを作成し、コンテキストからオブジェクトを取得してください。

例:

Test test = (Test) context.getBean("test"); 
関連する問題