我的java项目使用了spring和hibernate,不能获取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的主要代码是
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);
}发布于 2012-04-26 22:27:32
您在main方法中的测试实际上并没有使用Spring进行注入。您需要加载applicationContext.xml,然后从中获取test bean。
所以你可以在你的main中做类似这样的事情:
ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {"applicationContext.xml"});
Test test = (Test)context.getBean("test");发布于 2012-04-26 22:29:13
您还需要从spring上下文中获取Test对象。加载配置xml并创建上下文,然后从上下文中获取对象
例如:
Test test = (Test) context.getBean("test");https://stackoverflow.com/questions/10335426
复制相似问题