开发者社区> 问答> 正文

spring注解的bean,ApplicationContextAware里没有找到

之前我的bean都是通过xml声明的,有一个实现了ApplicationContextAware接口的类。用于在JSP等情况下获取spring容器里的bean。一直以来都没有问题。
最近我通过注解声明了bean,直接运行是有效的,也注入成功了。但是用那个实现了ApplicationContextAware接口的类,打印出所有bean,就没有注解声明的哪些类,不知道为什么。请高人指点一下。感激。

展开
收起
a123456678 2016-03-13 17:16:56 3248 0
1 条回答
写回答
取消 提交回答
  • 是因为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存在两份实例。

    2019-07-17 19:02:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多