您的位置:首页 > 其它

SSH下Action中无法注入业务bean的解决方法

2011-03-10 16:39 369 查看
今天尝试使用spring注解自动注入bean,但是遇到一个问题:无法在Action中使用@Autowired注解自动注入bean,而在业务bean中可以注入Dao bean,非常奇怪,经过查找解决了问题。

我的Action代码如下:

@Result(name = "success", location = "hello.jsp")
public class UserAction extends ActionSupport {
private static final long serialVersionUID = 1L;

@Autowired
private UserManager userManager;

public String execute() {
User user = new User();
user.setUsername("cuihaiyang");
user.setPassword("abcd");

////使用@Autowired无法注入userManager,但是可以从ApplicationContext里获取,这说明已经通过注解@Service自动添加了userManager bean到spring容器中
// String[] paths = { "applicationContext.xml" };
// ApplicationContext context = new
// ClassPathXmlApplicationContext(paths);
// userManager = (UserManager) context.getBean("userManager");

//使用注解@Autowired时此处userManager为null,并未注入
userManager.add(user);

return SUCCESS;
}
}


后来,在http://blog.csdn.net/HMC20071120015/archive/2010/06/22/5686382.aspx中看到替换jar可以解决问题,我试着使用开发项目中的jar替换自己新建项目中的jar,结果注入成功了,这说明配置没有问题是jar包有问题。接下来通过一点点的对比查找有问题的jar包,最后发现是缺少了struts2-spring-plugin.jar。自己对SSH机构不熟导致的低级错误啊。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: