sessionFactory注入问题 把@Autowired 注解都去掉。sessionFactory 是spring注入的 不用给他赋值。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把@Autowired 注解都去掉。还是不行但是现在可以用ctx = new ClassPathXmlApplicationContext("applicationContext.xml");sessionFactory = (SessionFactory)ctx.getBean("sessionFactory");获取sessionFactory了,但为什么就不能注入进去呢 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">用注解的话 是这个 @Resource(name = "sessionFactory")protected SessionFactory sessionFactory;试试看这样行不行。 这样可以获取sessionFactory,但在 public Session getSession() { System.out.println(sessionFactory); return this.sessionFactory.getCurrentSession(); } 这里sessionFactory又为空了 这样可以获取sessionFactory,但在 public Session getSession() { System.out.println(sessionFactory); return this.sessionFactory.getCurrentSession(); } 这里sessionFactory又为空了<bean id="genericDAO" class="classespackage.dao.GenericDAO" scope="prototype"> <property name="sessionFactory" ref="sessionFactory"/> </bean>把 <property name="sessionFactory" ref="sessionFactory"/> 给去了 这样可以获取sessionFactory,但在 public Session getSession() { System.out.println(sessionFactory); return this.sessionFactory.getCurrentSession(); } 这里sessionFactory又为空了<bean id="genericDAO" class="classespackage.dao.GenericDAO" scope="prototype"> <property name="sessionFactory" ref="sessionFactory"/> </bean>把 <property name="sessionFactory" ref="sessionFactory"/> 给去了还是不行,sessionFactory还为空 不懂。给个setter方法看看会怎么样 问题解决了,分享下@SuppressWarnings("unchecked")@Repository("BaseDAO")public class GenericDAO <T extends Serializable, PK extends Serializable> implements BaseDAO<T, PK> { @Resource(name="sessionFactory") public SessionFactory sessionFactory; private ApplicationContext ctx; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; System.out.println(this.sessionFactory); } public Session getSession() { ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); sessionFactory = (SessionFactory)ctx.getBean("sessionFactory"); System.out.println(sessionFactory); return this.sessionFactory.getCurrentSession(); } public List<T> findAll(Class<T> entityClass) { System.out.println(this.sessionFactory); return (List<T>) getSession().createCriteria(entityClass); }sessionFactory注入和手动获取要同时用,否则在其他方法中就获取不到sessionFactory,不知道为什么,但问题是解决了。结贴! struts2问题求教 求一个SQL ectable设定过滤后,列宽变的超大 js 的Tree放入数据库数据 测试数据库连接池问题 数据不能显示 PDA(wifi)->internet->网站 再给100分解决webShpere4.0 + struts1.1 配置问题 Win2000/xp Apache2.0.48+Tomcat5.0.19+mysql4.0.18+JDK1.5(1.4)+JSP/servlet整合进阶(三) hibernate4 插入数据时datetime插入不进去 telnet localhost 8080 JBuilder+Weblogic启动报错
还是不行
但是现在可以用
ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
sessionFactory = (SessionFactory)ctx.getBean("sessionFactory");
获取sessionFactory了,但为什么就不能注入进去呢
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
用注解的话 是这个
protected SessionFactory sessionFactory;
试试看这样行不行。
public Session getSession() {
System.out.println(sessionFactory);
return this.sessionFactory.getCurrentSession();
}
这里sessionFactory又为空了
public Session getSession() {
System.out.println(sessionFactory);
return this.sessionFactory.getCurrentSession();
}
这里sessionFactory又为空了<bean id="genericDAO" class="classespackage.dao.GenericDAO" scope="prototype">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
把 <property name="sessionFactory" ref="sessionFactory"/> 给去了
public Session getSession() {
System.out.println(sessionFactory);
return this.sessionFactory.getCurrentSession();
}
这里sessionFactory又为空了<bean id="genericDAO" class="classespackage.dao.GenericDAO" scope="prototype">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
把 <property name="sessionFactory" ref="sessionFactory"/> 给去了
还是不行,sessionFactory还为空
@SuppressWarnings("unchecked")
@Repository("BaseDAO")
public class GenericDAO <T extends Serializable, PK extends Serializable> implements BaseDAO<T, PK> {
@Resource(name="sessionFactory")
public SessionFactory sessionFactory;
private ApplicationContext ctx;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
System.out.println(this.sessionFactory);
} public Session getSession() {
ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
sessionFactory = (SessionFactory)ctx.getBean("sessionFactory");
System.out.println(sessionFactory);
return this.sessionFactory.getCurrentSession();
}
public List<T> findAll(Class<T> entityClass) {
System.out.println(this.sessionFactory);
return (List<T>) getSession().createCriteria(entityClass);
}
sessionFactory注入和手动获取要同时用,否则在其他方法中就获取不到sessionFactory,不知道为什么,但问题是解决了。
结贴!