JSP 开发之servlet中调用注入spring管理的dao
我们用spring的依赖注入可以将dao注入到action中,然后我们就可以直接调用了dao中的方法了,可是servlet不是由spring容器管理,所以在servlet中不能注入dao类,也就不能用dao中的方法。
下面是实现方法:
private UserDao userDao; public void init() throws ServletException { super.init(); ServletContext servletContext = this.getServletContext(); WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext); userDao = (UserDao)ctx.getBean("userDao"); }
在servlet中加入私有变量UserDao,然后在servlet的init()方法中初始化一下即可用。
public UserDao getUserDao() { return userDao; } public void setUserDao(UserDao userDao) { this.userDao = userDao; }
还要加get set方法,(去掉这个的情况没有测试)
以后就可以随意在servlet中调用dao了,耶!