SpringMVC中无法获取SessionFactory的解决!
2016-07-27 19:23
369 查看
1.maven配置SpringMVC+hibernate后,Controller对DAO操作时,无法获取到SessionFactory,原因是我在Controller中直接new的DAO,导致SessionFactory放弃Spring的管理,
然后获取到的SessionFactory就是空的。
2.解决办法:
下面是DAO层的简易代码:
@Transactional @Repository("userDao") public class UserDAO extends BaseDAO<Users> { @Resource private SessionFactory sessionFactory; //查询全部 @SuppressWarnings("unchecked") public List<Users> findAll(){ Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); String hql = "from Users"; List<Users> users = sessionFactory.getCurrentSession().createQuery(hql).list(); session.getTransaction().commit(); return users; } }下面是Controller层的简易代码:
@Controller @RequestMapping("/aaa") public class TestController { @Autowired private UserDAO dao; @RequestMapping("/bbb.do") public void getTime(){ List<Users> users = dao.findAll(); for (Users u : users) { System.out.println("-->"+u.getUserName()); } } }
总结:获取SessionFactory直接通过注解@Autowired 进行Spring注入,问题解决,运行无问题。
上面的代码是Controller里面的,那么DAO里面的呢
相关文章推荐
- DAO层、Service层、Controller层、View层介绍
- Spring 国际化支持 消息传递 以及 AOP 面向方面编程
- java中用小数点分隔字符串问题
- SpringMVC+MyBatis+logback
- Java 设计模式
- Spring Boot使用Druid和监控配置
- Spring-AOP:简介
- javaweb学习总结(十九)——JSP标签
- 关于java限定修饰符
- 【JAVA】继承
- 关于Java中静态属性和静态代码块的执行顺序问题
- Java匿名内部类
- java_接口的应用
- 最详细的Log4j使用教程
- spring 学习之路——spring 初接触
- Spring编程式事务管理(xml注入)
- JavaWeb中文件上传
- java旅行第三天
- java_抽象类应用
- javaweb学习总结(十八)——JSP属性范围