当前位置: 代码迷 >> J2EE >> 关于SPRING注入的bean等于null的有关问题,高手帮忙了
  详细解决方案

关于SPRING注入的bean等于null的有关问题,高手帮忙了

热度:306   发布时间:2016-04-22 03:18:13.0
关于SPRING注入的bean等于null的问题,高手帮忙了
一个简单的SPRING配置,一个简单的SERVLET, 
配置好了SPRING的service等,然后给SERVLET注入一个bean,发现能注入(TOMCAT启动的时候发现能SET进去),但是调用的一直是NULL,不知道是什么原因,望高手指点.下面是相关代码。 

SERVLET代码 
Java code
public   class   Javaservice   extends   HttpServlet   { private   UserService   userservice; public   void   doGet(HttpServletRequest   request,   HttpServletResponse   response)                 throws   ServletException,                         IOException   {                 System.out.print( "f ");                 userservice.getaallStudent();(这一句在运行中发现是null)                 response.setContentType( "text/html ");                 PrintWriter   out   =   response.getWriter(); }         public   UserService   getUserservice()   {                 System.out.println( "get------------------------------------ ");                 return   userservice;         }         public   void   setUserservice(UserService   userservice)   {                 System.out.println( "set------------------------------------ ");(这一句在TOMCAT启动时发现正常,能注入值)                 this.userservice   =   userservice;         } 


SPRING_APPLICATION.XML 
Java code
<bean   id= "userservice "   parent= "txProxyTemplate "> <property   name= "target "> <ref   bean= "userserviceImpl "/> </property> <property   name= "proxyInterfaces "> <value> com.sos.service.UserService </value> </property> </bean> <bean   id= "userserviceImpl "   class= "com.sos.service.UserServiceImpl "> <property   name= "userdao "> <ref   bean= "userdao "/> </property> </bean> <bean   id= "userdao "   class= "com.sos.hibernate.UserDAO "> <property   name= "sessionFactory "> <ref   bean= "sessionFactory "/> </property> </bean> <bean   id= "Javaservice "   class= "com.sos.action.Javaservice "> <property   name= "userservice "> <ref   bean= "userservice "/> </property> </bean> 



就是这个问题,不知道为什么用的时候是NULL,同样的方法在SPRINGmvc中就不是NULL

------解决方案--------------------
// HttpServletRequest request;
// ServletContext servletContext = request.getSession().getServletContext();
// ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
// UserService userservice =(UserService) ctx.getBean("userservice")


我们以前是用这个获取的
  相关解决方案