之前我的bean都是通过xml声明的,有一个实现了ApplicationContextAware接口的类。用于在JSP等情况下获取spring容器里的bean。一直以来都没有问题。
最近我通过注解声明了bean,直接运行是有效的,也注入成功了。但是用那个实现了ApplicationContextAware接口的类,打印出所有bean,就没有注解声明的哪些类,不知道为什么。请高人指点一下。感激。
是因为spring mvc里声明的bean,和web.xml里载入的spring 配置文件里的bean,默认不在一个上下文。
我现在把所有service等(除了controller类)全都放普通spring配置文件。只有spring mvc的controller类配置在springmvc-servlet.xml文件里。
这样struts2可以使用全局上下文里的bean,而sprin mvc的controller也可以在全局上下文找到service类。
我原来是简单的把springmvc-servlet.xml在web.xml里又声明载入一次。这样虽然能解决找类的问题,但是会让springmvc-servlet.xml里的bean存在两份实例。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。