JSP 开发之servlet中调用注入spring管理的dao

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了,耶!

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!