在action中 使用@Resource注解service层 总是得到null

c305600647 2013-03-09 05:25:03
在action中 使用@Resource注解service层 总是得到null dao层和service层中的都能正常得到值
但是使用getBean()却可以得到service什么原因求指教。。。
架构是s2sh纯注解。

@Service("serviceFaceImpl")
public class ServiceFaceImpl implements ServiceFace {
@Resource
private UserLoginService userLoginService;
@Resource
private LeaveService leaveService;
@Override
public void setUserLoginService(UserLoginService userLoginService) {
this.userLoginService = userLoginService;
}

@Override
public UserLoginService getUserLoginService() {
return userLoginService;
}
@Override
public LeaveService getLeaveService() {
return leaveService;
}
@Override
public void setLeaveService(LeaveService leaveService) {
this.leaveService = leaveService;
}

}

action 中:
public class WebBaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware {

/**
*
*/
private static final long serialVersionUID = 1L;
//public ServiceFace serviceFace;
protected static Logger log = Logger.getLogger(WebBaseAction.class);
public HttpServletRequest request ;
public HttpServletResponse response ;
@Resource
protected ServiceFace serviceFace;//这个无法得到

//protected ServiceFace serviceFace = (ServiceFace) SpringIoc.getApplicationContext().getBean("serviceFaceImpl");//这个可以得到serviceFace

public ServiceFace getServiceFace() {
return serviceFace;
}

public void setServiceFace(ServiceFace serviceFace) {
this.serviceFace = serviceFace;
}
...全文
2755 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
q455295165 2014-08-20
  • 打赏
  • 举报
回复
不知道 这算不算挖坟啊,不过望谅解,我也是遇到这个问题,不过我的项目是struts1,不可能导入这个jar包吧。。 而且用getbean可以得到这个对象,但是用autowired或者resource注解就只能得到空 xml中也有 component-scan
c305600647 2014-05-23
  • 打赏
  • 举报
回复 1
引用 19 楼 u012903790 的回复:
我的struts2-core-2.2.1.1.jar 和struts2-convention-plugin-2.2.1.1.jar 为什么还是和你一样的问题有什么解决办法吗?
struts2-spring-plugin-2.3.15.1.jar缺少这个包
u012903790 2014-04-15
  • 打赏
  • 举报
回复
我的struts2-core-2.2.1.1.jar 和struts2-convention-plugin-2.2.1.1.jar 为什么还是和你一样的问题有什么解决办法吗?
c305600647 2013-09-27
  • 打赏
  • 举报
回复
引用 17 楼 huanshiguxian 的回复:
引入struts2-spring-plugin-2.3.15.1.jar就可以了,对应版本的struts引入的版本不一样
是这样的。这个包没有引入,后面查了很久才发现。。已经解决了。。还是谢谢。。很久没进来看了。
飞鸟_道一 2013-09-09
  • 打赏
  • 举报
回复
引入struts2-spring-plugin-2.3.15.1.jar就可以了,对应版本的struts引入的版本不一样
liuxianqiu 2013-08-09
  • 打赏
  • 举报
回复
@Resource(name = "serviceFaceImpl") 这样再看看
aa_aaaaaa 2013-08-07
  • 打赏
  • 举报
回复
楼主解决了没有 ,我的dao总是报null 求解啊
fyJixiang 2013-07-25
  • 打赏
  • 举报
回复
楼主解决了没有呀,我也是这样的问题。我用getbeen()的方式可以,但是我从controller直接注入service时报空指针,直接注入dao也报空指针。我就郁闷了。每一个注入时用的 @Resource(name="userServImpl") 这个名字也可以找到相应的类,可始终就是空指针。没有注入进来。 求解呀。
且活且珍惜 2013-03-11
  • 打赏
  • 举报
回复
我感觉就是你的action类上加@Controller就可以了
z2007130205 2013-03-10
  • 打赏
  • 举报
回复
@Resource protected ServiceFace serviceFaceImpl; 这样写呢
c305600647 2013-03-10
  • 打赏
  • 举报
回复
引用 6 楼 a12939026 的回复:
@Resource protected ServiceFace serviceFace;//这个无法得到 这个事Resource么? 我记得是AutoWired吧。
都可以的,我是spring3.0了。。两个注解都可以用的。。
c305600647 2013-03-10
  • 打赏
  • 举报
回复
引用 8 楼 lightning_16 的回复:
用getBean可以获得,证明已经被spring管理 分析一下几个可能: 1.最有可能:非接口注入 2.注入的名字对不上
恩启动时候日记也看到了。。serviceFaceImpl这类已经注入。。。。。应该是接口注入吧。。你说的接口注入怎么区别,,dao层service层都能得到啊。到action就得不到了。
lightning_16 2013-03-10
  • 打赏
  • 举报
回复
用getBean可以获得,证明已经被spring管理 分析一下几个可能: 1.最有可能:非接口注入 2.注入的名字对不上
已经习惯了 2013-03-10
  • 打赏
  • 举报
回复
@Resource指着接口类好像不妥吧,一般都指实体的。 定义 @Service("remoteServiceSH") public class RemoteServiceSH extends RemoteService 使用: @Resource(name = "remoteServiceSH") private RemoteServiceSH remoteServiceSH;
bj2013_java 2013-03-10
  • 打赏
  • 举报
回复
@Resource不是默认byname的吗,你有对应名字的吗
a12939026 2013-03-09
  • 打赏
  • 举报
回复
@Resource protected ServiceFace serviceFace;//这个无法得到 这个事Resource么? 我记得是AutoWired吧。
c305600647 2013-03-09
  • 打赏
  • 举报
回复
有木有人知道啊
c305600647 2013-03-09
  • 打赏
  • 举报
回复
我有用rest插件的。。跟这个有关系吗。
c305600647 2013-03-09
  • 打赏
  • 举报
回复
在子类有注入的。。把这个类注入也试过。。都得到空值。
zuxianghuang 2013-03-09
  • 打赏
  • 举报
回复
public class WebBaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware { 这个也要交给spring管理才行呀,要不怎么给你注入 加个@Controller @controller public class WebBaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware {
加载更多回复(1)

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧