日期:2014-05-18  浏览次数:20633 次

struts2 实例化问题
在java web 项目中加入了struts2 在action 类中调用service层类,如ArticleService:
在execute()外:private  ArticleService articleService;并且get(),set()
但是在execute()里面调用articleService.add();就会报null point错误,为什么所有的都不能自动实例化

------解决方案--------------------
为什么所有的都不能自动实例化 ...

你所谓的自动实例化 是spring管理的实例,,在启动服务器的时候自动实例化,,那就看你有没有配置了。。
------解决方案--------------------
这个和struts2没有啥关系啊,你的对象肯定要实例化才可用的,无论是显示的new还是spring来做。

在execute()里面调用articleService.add();之前,你可以试着articleService = new ArticleService()就不会有问题!
------解决方案--------------------
照你的描述来看,你是用了Spring了吧。然后,你是想用自动注入吧。那还要看其它的配置情况。
------解决方案--------------------
引用:
Quote: 引用:

这个和struts2没有啥关系啊,你的对象肯定要实例化才可用的,无论是显示的new还是spring来做。

在execute()里面调用articleService.add();之前,你可以试着articleService = new ArticleService()就不会有问题!

我知道new之后,不会报错,由于还没有弄到spring,所以就不知道了,以为struts可以自动实例化

Struts2只会实例化你的Action,并不会实例化其他的,比如你的service!
------解决方案--------------------
楼主先搞清楚概念,struts是干什么的 spring是干嘛的 为什么要用
------解决方案--------------------
spring的注入,应该是没有正确注入.
------解决方案--------------------
struts2里面的设置action中的成员属性可以用set、get,并且是配合jsp里面的s标签用;spring可以实现自动注入,你应该搞混淆了!