HttpsServlet中调用service注解@service

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26917447/article/details/79959122

因为spring容器是对框架容器内的对像注解相互作用,所以如果该类既不是@controller或者也不是@component,直接调用service注解常会报nullException
javaWeb中前期都用的HttpServlet,所以踩了各种坑才搞好了调用@service.

就是在servlet实现类中写一个初始化操作:

public void init() throws ServletException {  
       super.init();  
       WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(getServletContext());  
       AutowireCapableBeanFactory factory = wac.getAutowireCapableBeanFactory();  
       factory.autowireBean(this);  
   }  

在类中加入上述方法,然后doGet()或doPost()时,第一步先调用该初始化方法即可。或者你也可以先一个继承HttpServlet类实现init()方法,再让后面的servlet类继承该类也行。

注意:该serlvet类在我这里实际上就是controller的作用,只是之前的项目修改没有用ssm去做。现在加了这个后就可以用注解了。当然还有配置文件,对applicationContext.xml的配置,以及mapper文件的定位。还有数据库dataSource等。dao下是用的”bean”节点设置的.

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页