在Spring项目中使用@Value注解引入配置文件中的参数
2017-01-06 09:58
651 查看
如题所示,有时候我们的一些配置并不能在代码中“写死”,而是需要动态配置在配置文件中。这样可以使得以后需要修改该参数时只需要修改配置文件中的参数值即可,而不需要修改代码。具体配置如下:(1)在Spring的配置文件中添加以下配置用于引入参数所在的文件:
可以看出,这里使用了@Value注解,其语法如下:@Value(“#{configProperties[‘参数名’]}”)当然,还有一种简写的语法是:@Value(“${参数名}”)也就是说上面加载参数那里也可以这样使用:
<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="locations"> <list> <value>classpath:jdbc.properties</value> <value>classpath:article.properties</value> </list> </property> </bean> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"> <property name="properties" ref="configProperties" /> </bean>注:如果想在Controller中也使用@Value注解引入配置文件中的参数的话,那么需要将上面的“propertyConfigurer”这个bean在SpringMVC的配置文件中也重复复制一遍,也就是:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"> <property name="properties" ref="configProperties" /> </bean>(2)article.properties文件的具体内容如下:
test.author=zifangsky(3)测试:
package cn.zifangsky.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class TestController { @Value("#{configProperties['test.author']}") private String author; @RequestMapping("/test.html") public void test(){ System.out.println("---------------"); System.out.println("测试: " + author); } }
可以看出,这里使用了@Value注解,其语法如下:@Value(“#{configProperties[‘参数名’]}”)当然,还有一种简写的语法是:@Value(“${参数名}”)也就是说上面加载参数那里也可以这样使用:
@Value("${test.author}") private String author;(4)最后输出如下:
--------------- 测试: zifangsky
相关文章推荐
- 使用Gradle构建SpringBoot工程系列:第四篇:项目初始化(编辑build.gradle文件,引入项目基本配置及依赖)
- 转: 使用maven给spring项目打可直接运行的jar包(配置文件内置外置的打法)
- Spring整合JUnit4测试,使用注解引入一个或多个配置文件
- Spring整合JUnit4测试,使用注解引入一个或多个配置文件
- 使用注解,实现ssh项目中spring配置文件的零配置,约定优于配置
- Spring整合JUnit4测试时,使用注解引入多个配置文件
- 项目中使用spring配置文件好,还是注解好?
- web 项目中 在spring中使用log4j 定时刷新log4j配置文件
- Spring整合JUnit4测试使用注解引入多个配置文件
- Spring整合JUnit4测试,使用注解引入一个或多个配置文件
- Spring整合JUnit4测试,使用注解引入一个或多个配置文件
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- 参数配置文件properties--使用spring加载和简化读取
- Spring boot框架项目,使用maven命令将配置文件打包到jar包外,项目运行读取jar外配置文件
- Spring整合JUnit4测试时,使用注解引入多个配置文件
- Spring整合JUnit4测试,使用注解引入一个或多个配置文件
- 使用maven给spring项目打可直接运行的jar包(配置文件内置外置的打法)
- 使用maven给spring项目打可直接运行的jar包(配置文件内置外置的打法)
- Spring整合JUnit4测试,使用注解引入一个或多个配置文件