@PropertiesSource注解读取配置文件中的数据

来源:互联网 发布:淘宝网店团队人员 编辑:程序博客网 时间:2024/06/05 08:24
task.properties配置文件:
corn=0/1 * * * * ?demo.url=http://www.baidu.comname=job
读取方式:1
加载配置文件:@PropertySource(value = "classpath:task.properties")
读取:
注册bean:
@Beanpublic static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {    return new PropertySourcesPlaceholderConfigurer();}
也可以在xml中<bean>标签注册.
@Value(value = "${demo.url}")private String name;

读取方式2:
加载配置文件:@PropertySource(value = "classpath:task.properties")
注入Environment对象
@Autowiredprivate Environment environment;
通过environment对象获取配置文件中的数据
String corn = environment.getProperty("demo.url");
这里是我写的一个定时器的Demo:
package task;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Lazy;import org.springframework.context.annotation.PropertySource;import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;import org.springframework.core.env.Environment;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;/** * Create by szw on 2017/11/23 10:05 */@Component@Lazy(false)@PropertySource(value = "classpath:task.properties")public class SpringTask {    @Autowired    private Environment environment;    @Value(value = "${demo.url}")    private String name;    @Scheduled(cron = "0/1 * * * * ? ")    public void task() {        String corn = environment.getProperty("demo.url");        System.out.println("我的名字"+name);        System.out.println("我执行了:"+corn);        System.out.println("执行");    }    @Bean    public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {        return new PropertySourcesPlaceholderConfigurer();    }}

 
阅读全文
0 0
原创粉丝点击