spring autowired注解失败 空指针异常

J2EE 码拜 6年前 (2015-04-15) 1533次浏览 0个评论

在 applicationContext.xml中

 	<context:component-scan base-package="com.xiaohao">
		<context:exclude-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	</context:component-scan> 

在loginAction中

       @Autowired
	private UserService userService;
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
		String username = loginForm.getUsernmae();
		String password = loginForm.getPassword();
		String val = userService.user_login(username, password);
		System.out.println(val);
		return null;
	}

然后 String val = userService.user_login(username, password);这一句空指针异常

UserService.java

@Service(value="userService")
public class UserServiceImp implements UserService{
	@Autowired
	private UserDao userdao;
	public String user_login(String username, String password) {
		// TODO Auto-generated method stub
		System.out.println("======"+username);
		return userdao.user_login(username, password);
	}

}

UserDao

@Repository(value = "UserDao")
public class UserDaoImp implements UserDao{
	public String user_login(String username, String password) {
		// TODO Auto-generated method stub
		if(username.equals("xiaohao")||password.equals("123")){
			return "success";
		}
		else return "failed";
	}

}

请问下错误原因。

spring autowired注解失败 空指针异常
10分
最近经常看到这种错..

楼主是发布到weblogic上的么?

如果不是,参照这个地址http://zhongzhihua.iteye.com/blog/613305

spring autowired注解失败 空指针异常
引用 1 楼 shijing266 的回复:

最近经常看到这种错..

楼主是发布到weblogic上的么?

如果不是,参照这个地址http://zhongzhihua.iteye.com/blog/613305

我看了下这个,貌似不出这个问题,我这3个条件都满足。

spring autowired注解失败 空指针异常
10分
引用 2 楼 q455295165 的回复:
Quote: 引用 1 楼 shijing266 的回复:

最近经常看到这种错..

楼主是发布到weblogic上的么?

如果不是,参照这个地址http://zhongzhihua.iteye.com/blog/613305

我看了下这个,貌似不出这个问题,我这3个条件都满足。[/quote

那你有没有配置spring自动扫描包什么的。仔细看看包的路径

spring autowired注解失败 空指针异常
引用 3 楼 shijing266 的回复:
Quote: 引用 2 楼 q455295165 的回复:
Quote: 引用 1 楼 shijing266 的回复:

最近经常看到这种错..

楼主是发布到weblogic上的么?

如果不是,参照这个地址http://zhongzhihua.iteye.com/blog/613305

我看了下这个,貌似不出这个问题,我这3个条件都满足。[/quote

那你有没有配置spring自动扫描包什么的。仔细看看包的路径

是这个吗
<context:component-scan base-package=”com.xiaohao”>
        <context:exclude-filter type=”annotation”
            expression=”org.springframework.stereotype.Controller” />
    </context:component-scan>
在applicationContext.xml中配置了

spring autowired注解失败 空指针异常
你是部署在weblogic下面么? 

如果是,你看看你web.xml的 classpath配置,把*号的去掉,weblogic不支持这个

spring autowired注解失败 空指针异常
String val = userService.user_login(username, password);这一句空指针异常那应该就是userService没有注入进去,就为空然后调用user_login方法就报空指针了;
在你的配置文件里面下面这个配置有问题,exclude-filter 表示不会去扫描Controller,所以你这里userService就注入不进去!
<context:component-scan base-package=”com.xiaohao”>
        <context:exclude-filter type=”annotation”
            expression=”org.springframework.stereotype.Controller” />
    </context:component-scan> 

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明spring autowired注解失败 空指针异常
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!