项目是SSH框架,写了一个service层,需要在两个地方调用,一个是filter过滤器,将数据存进去,一个是action,读取数据。在filter中,我是通过
SpringContextHolder.getApplicationContext().getBean(SecretAccessLogService.class)
的方式获取到service,说明一下,标注了@service注解,但是在action层通过autowire就是不能自动注入,总是报空指针错误,但是通过和filter同样的方法却能获取到。配置啥的基本没问题应该,因为其他地方没有出现过这样的问题,想请教一下各位,谢谢啦
你应该是使用了父子容器,即在web.xml中配置了contextLoaderListener,还配置了DispatcherServlet。
这种配置产生的问题是,只在contextLoaderListener配置的bean在DispatcherServlet中不起效果。
具体可以看这里Spring父子容器
######struts2 还有DispatcherServlet 父子容器?######你都用一个方法取不可以吗?autowire用不了,我觉得是你配置有问题
######我都没有配置哎,其他模块正常,在老系统上面加的######@Autowire不能用的话,一般就是配置有问题,还有就是一楼说的父子容器问题,子容器可以获得父容器的配置,但是父容器不能获得子容器的配置,
######类上加注解@Component
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。