SpringMVC 使用 @Value获取properties文件中的属性值

来源:互联网 发布:长得帅的男生知乎 编辑:程序博客网 时间:2024/04/29 04:22


我的项目目录结构

test
----- java
--------- com.test
---------------Proporties.java
---------------Test.java
-----resource
--------- applicationContext.xml
--------- application.properties

-------------------------------------------------------------------

application.properties内容

jdbc.code = "this is a code"

-------------------------------------------------------------------
Proporties.java 源码

package com.test;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Componentpublic class Proporties {@Value("#{configProperties['jdbc.code']}")private String code;public String getCode() {return code;}public void setCode(String code) {this.code = code;}}

-------------------------------------------------------------------

applicationContext.xml 配置

<!-- 获取properties中的值 --><bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">  <property name="locations">    <list><value>classpath:application.properties</value>    </list>  </property></bean><!-- Spring的动态变量,能在bean中直接调用 --> <bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">    <property name="properties" ref="configProperties" /></bean><!-- 使用Annotation自动注册Bean ,扫描 Component--><context:component-scan base-package="com.test" use-default-filters="false"><!-- base-package 如果多个,用“,”分隔 --><context:include-filter type="annotation" expression="org.springframework.stereotype.Component"/></context:component-scan>
-------------------------------------------------------------------

Test.java 源码


@ContextConfiguration(locations = { "classpath:applicationContext.xml" })  @RunWith(SpringJUnit4ClassRunner.classpublic class Test{    @Antowird    private Proporties proporties;    @Test    public void testProperties(){        System.out.println("获取的值为:" + proporties.getCode());    }}



0 0
原创粉丝点击