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

task.properties配置文件:
corn=0/1 * * * * ?
demo.url=http://www.baidu.com
name=job
读取方式:1
加载配置文件:@PropertySource(value = "classpath:task.properties")
读取:
注册bean:

@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
    return new PropertySourcesPlaceholderConfigurer();
}
也可以在xml中标签注册.

@Value(value = "${demo.url}")
private String name;

读取方式2:

加载配置文件:@PropertySource(value = "classpath:task.properties")
注入Environment对象

@Autowired
private 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();
    }
}



你可能感兴趣的:(知识点)