启动tomcat后有2个Spring容器:
- Spring容器(web.xml中启动容器) (父容器)
- SpringMVC中容器 (子容器)
关系和限制:
- 子容器能访问父容器的资源(bean)
- 父容器不能访问子容器的资源(bean)
- 在SpringMVC的容器中包含了请求的Controller bean
- 配置文件内容被加载到了父容器中
- 父容器不能访问子容器中Controller bean
- 所以,配置文件的内容不能注入到bean的属性中
* 由于spring容器不能访问spring mvc容器
* 而spring mvc 容器可以访问spring容器
* 所以新建service类中用@Value来获取参数
由于配置了扫描包,所以 此类是由spring容器管理的,
(application中读取配置文件的value中添加配置文件)
* 在spring mvc中直接注入本类,获取配置文件中的参数
- 在父容器中创建PropertiesServce,在PropertiesServce中注入父容器中配置文件内容
- 在子容器中获取到PropertiesServce,间接的获取到了配置文件内容