2 chn wwz chn_wwz 于 2016.05.04 10:13 提问

SSH 框架action中注入service失败 service一直是null
//在听取建议后的第一次修改

@Resource(name="userService") 
private UserService userService;

public String login(){
    if(Validators.isEmpty(userName) || Validators.isEmpty(password)){
        return "error";
    }
    boolean flag = false;
    try{
        flag = userService.login(userName, password);
    }catch(Exception e){
        System.out.println(e.getMessage());
    }
    if(flag){
        return "success";
    }else{
        return "failure";
    }
}

//userService的注入
public void setUserService(UserService userService) {
    this.userService = userService;
}

applicationContext.xml中的配置如下

<bean id="loginAction" class="com.ssh.action.LoginAction" scope="singleton">
    <property name="userService" ref="userService" />
</bean>

<bean id="userService" class="com.ssh.service.UserServiceImpl">
</bean>

    在web.xml 中增加spring 配置:
    <listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener> 
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>


但是还是取不到userService

1个回答

ChaoBaby94
ChaoBaby94   2016.05.04 10:24
  1. 你的userService的的bean的class要求是类不是接口。(不过感觉应该不是这个问题)
  2. 使用注解@Resource或者@Autowired来注入,不要使用配置来注入(我记得也遇到过类似的问题,好像是使用这个办法解决的)
  3. 检查web.xml是否配置了org.springframework.web.context.ContextLoaderListener
chn_wwz
chn_wwz 你好,在听取你的意见之后做了响应的修改,能看看还有什么问题吗. 现在还是取不到userService
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!