spring属性赋值@Value赋值与@PropertySource加载外部配置文件
2019-03-07 14:43
399 查看
1.实体类
package com.hjj.bean; import org.springframework.beans.factory.annotation.Value; public class Person { //使用@Value赋值; //1、基本数值 //2、可以写SpEL; #{} //3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值) @Value("张三") private String name; @Value("#{20-2}") private Integer age; @Value("${person.nickName}") private String nickName; public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Person(String name, Integer age) { super(); this.name = name; this.age = age; } public Person() { super(); // TODO Auto-generated constructor stub } @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", nickName=" + nickName + "]"; } }
2.创建一个配置类
package com.hjj.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import com.hjj.bean.Person; //使用@PropertySource读取外部配置文件中的k/v保存到运行的环境变量中;加载完外部的配置文件以后使用${}取出配置文件的值 @PropertySource(value={"classpath:/person.properties"}) //告诉sring容器这是一个配置类 @Configuration public class MainConfigOfPropertyValues { //给容器中添加一个person @Bean public Person person(){ return new Person(); } }
3.创建一个测试类
package com.hjj.test; import org.junit.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.core.env.ConfigurableEnvironment; import com.hjj.bean.Person; import com.hjj.config.MainConfigOfLifeCycle; import com.hjj.config.MainConfigOfPropertyValues; public class IOCTest_PropertyValue { // 加载步骤2中的MainConfigOfPropertyValues配置类 AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class); @Test public void test01(){ // 打印容器中所有bean printBeans(applicationContext); System.out.println("============="); Person person = (Person) applicationContext.getBean("person"); System.out.println(person); // 配置文件中的值被获取之后,可以使用该方法获取配置文件中的值(配置文件中的值都会被加载进环境变量中) ConfigurableEnvironment environment = applicationContext.getEnvironment(); String property = environment.getProperty("person.nickName"); System.out.println(property); applicationContext.close(); } private void printBeans(AnnotationConfigApplicationContext applicationContext){ String[] definitionNames = applicationContext.getBeanDefinitionNames(); for (String name : definitionNames) { System.out.println(name); } } }
相关文章推荐
- spring学习总结(六):IOC & DI 配置Bean之作用域、加载外部属性文件、SPEL
- 【跟我学spring 4.0 】之第七节-spring使用外部属性文件-spring配置连接oracle数据库
- Spring环境搭建之:通过PropertyPlaceholderConfigurer加载属性配置文件:
- spring-自动加载配置文件\使用属性文件注入
- spring-自动加载配置文件\使用属性文件注入
- spring boot启动时加载外部配置文件的方法
- Spring Boot(8)配置篇 - 配置文件的加载位置和外部配置文件的加载顺序
- IDEA spring的xml配置文件加载不到properties属性问题
- Spring配置中从外部文件加载多个properties文件
- Spring - 配置Bean - 自动装配 关系 作用域 引用外部属性文件
- Spring配置中引用外部属性文件
- Spring-Bean配置-使用外部属性文件
- (五)spring配置文件--使用外部属性文件
- spring (三) 加载外部资源文件/配置jdbc数据源
- Spring配置文件加载外部配置文件
- 可以从Jar外部加载JDBC.properties的Spring-mybatis配置文件
- 可以从Jar外部加载JDBC.properties的Spring-mybatis配置文件
- spring-自动加载配置文件\使用属性文件注入
- context:property-placeholder,spring配置文件加载属性信息
- spring加载配置属性文件(properties)