有参数文件以下test.propertiesjava
project.author=wpfc project.create_time=2018/3/29
在系统中读取对应的数据,并注入到属性中测试
@Configuration @ComponentScan("cn.edu.ntu") @PropertySource("classpath:test.properties") public class ElConfig { @Value("#{systemProperties['os.name']}") private String osName; //要想使用@Value 用${}占位符注入属性,这个bean是必须的(PropertySourcesPlaceholderConfigurer), //这个就是占位bean, //另外一种方式是不用value直接用Envirment变量直接getProperty('key') @Value("${project.author}") public String author; @Autowired private Environment environment; //You need this if you use @PropertySource + @Value @Bean public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { return new PropertySourcesPlaceholderConfigurer(); } public void printProperties(){ System.out.println("os name : " + osName); System.out.println("author : " + author); System.out.println("env : " + environment.getProperty("project.create_time")); } }
测试方法:this
public class MainApplication { public static void main(String[] args){ AnnotationConfigApplicationContext context = null; context = new AnnotationConfigApplicationContext(ElConfig.class); ElConfig bean = context.getBean(ElConfig.class); bean.printProperties(); } }
测试结果:spa
os name : Windows 7 author : wpfc env : 2018/3/29
@Import 引入javaConfig配置的配置类 @ImportResource 引入xml对应的配置文件