springMVC子容器使用spring父容器配置文件资源

知识点:

1.子容器可以访问父容器的资源bean,父容器不可以访问子容器资源bean

2.spring配置读取配置文件属性例如jdbc.properties,父容器中可以使用@value("${key}") 对properties中的key获取其value值赋值给成员变量

@value注解 是在所有bean创建成功之后才执行,且只能在当前容器的查找数据


主要过程:

1.添加properties属性文件

2.spring配置文件配置读取该peoperties属性文件

3.在spring 中创建一个bean,使用@value读取并复制要使用的 key-value

4.将spring中的bean注入到springMVC容器中使用


详细过程:


子容器中使用父容器的properties配置文件变量:
设置配置文件  evn.properties
内容:PATH=D:\mysetup\images
URL=image.test.com
spring父容器配置文件加载applicationscontext.xml中读取该配置文件,配置如下
[html]  view plain  copy
 print ?
  1. <span>  </span><!-- 使用spring自带的占位符替换功能 -->  
  2.     <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  3.         <!-- 允许JVM参数覆盖 -->  
  4.         <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />  
  5.         <!-- 忽略没有找到的资源文件 -->  
  6.         <property name="ignoreResourceNotFound" value="true" />  
  7.         <!-- 配置资源文件 -->  
  8.         <property name="locations">  
  9.             <list>  
  10.                 <value>classpath:env.properties</value>  
  11.             </list>  
  12.         </property>  
  13.     </bean>  

 使用 @value注解 读取属性值 @value是在所有bean创建成功后再执行   @value注解只会在当前容器中查询数据

在spring父容器中读取属性文件中的值
[java]  view plain  copy
 print ?
  1. @Service  
  2. public class PropertiesService {  
  3.       
  4.     @Value("${URL}")  
  5.     public String PIC_MANAGE_URL;  
  6.       
  7.     @Value("${PATH}")  
  8.     public String PIC_MANAGE_PATH;  
  9. }  

在将父容器中的bean注入到子容器中,子容器即可使用bean的属性值
[java]  view plain  copy
 print ?
  1. @Autowired  
  2.     private PropertiesService propertiesService ;  
[java]  view plain  copy
 print ?
  1. <span style="color:#565f69;"><span style="white-space:pre"> </span>String fileFolder = </span><span style="color:#ff9966;">this.propertiesService.PATH</span><span style="color:#565f69;"> + File.separator + "images" ;</span>  



子容器中使用父容器的properties配置文件变量:
设置配置文件  evn.properties
内容:PATH=D:\mysetup\images
URL=image.test.com
spring父容器配置文件加载applications.xml中读取该配置文件,配置如下
[html]  view plain  copy
 print ?
  1. <span>  </span><!-- 使用spring自带的占位符替换功能 -->  
  2.     <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  3.         <!-- 允许JVM参数覆盖 -->  
  4.         <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />  
  5.         <!-- 忽略没有找到的资源文件 -->  
  6.         <property name="ignoreResourceNotFound" value="true" />  
  7.         <!-- 配置资源文件 -->  
  8.         <property name="locations">  
  9.             <list>  
  10.                 <value>classpath:env.properties</value>  
  11.             </list>  
  12.         </property>  
  13.     </bean>  

1.1.1.  @value注解

1.     @value是在所有bean创建成功后再执行

2.     @value注解只会在当前容器中查询数据


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值