一个简单的SPRING配置,一个简单的SERVLET,
配置好了SPRING的service等,然后给SERVLET注入一个bean,发现能注入(TOMCAT启动的时候发现能SET进去),但是调用的一直是NULL,不知道是什么原因,望高手指点.下面是相关代码。 SERVLET代码 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 <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
配置好了SPRING的service等,然后给SERVLET注入一个bean,发现能注入(TOMCAT启动的时候发现能SET进去),但是调用的一直是NULL,不知道是什么原因,望高手指点.下面是相关代码。 SERVLET代码 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 <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
解决方案 »
- 为什么下面的java代码,b的值会是2?
- 经典电子书
- 如何访问/WEB-INF/JSP/register.jsp
- 如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置
- 大虾们过来看一看,servlet action threw exception 抛出的异常
- 调用JAVABEAN的机制的问题
- 下载空间更新了spring入门学习笔记.欢迎大家下载
- JTable 的详细介绍电子资料哪里有的啊?
- [求助]一个struts的问题
- 如何用java开发linux下的服务程序
- 怎么写一个高效率的equlas方法
- 求救,紧急,spring3.0+struts2.1配置问题。
<value> com.sos.service.UserService </value>放到id= "userservice "后class=
竟然获取不到值..就找下这个 GET 方法..其次你看看配置的文件路径是否正确...大小写要区分好...仔细检查下..
这边是获取用户信息的代码 Java code
<b:bean id="userDetailsService" class="com.sos.security.UserDetailsSerivceImpl"></b:bean>Java code
public class UserDetailsSerivceImpl extends BaseAction implements org.springframework.security.userdetails.UserDetailsService{
private UserService userService;
public UserDetails loadUserByUsername(String username)
throws UsernameNotFoundException,
DataAccessException {
// TODO Auto-generated method stub
// HttpServletRequest request;
// ServletContext servletContext = request.getSession().getServletContext();
// ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
// UserService userservice =(UserService) ctx.getBean("userservice");
com.sos.hibernate.User userinfo=(com.sos.hibernate.User) userService.getStudentInfo(username);//这边需要一个SERVICE ,但是实在是不知道怎么注入.//
if(userinfo==null){
throw new UsernameNotFoundException(username + " 不存在");
}
List <GrantedAuthority> authsList=new ArrayList<GrantedAuthority>();
for(Roles role : userinfo.getRoles()){
authsList.add(new GrantedAuthorityImpl(role.getName()));
}
User userdetail = new User(userinfo.getUsername(), userinfo.getPassword(), true,
true, true, true, authsList.toArray(new GrantedAuthority[authsList.size()]));
return userdetail;
}
}
// ServletContext servletContext = request.getSession().getServletContext();
// ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
// UserService userservice =(UserService) ctx.getBean("userservice")
我们以前是用这个获取的
如果初始化?
<bean id= "userservice" parent= "txProxyTemplate">
多空格了