四|Spring使用——读取properties配置文件

一、Spring注解——PropertySource 配置类 package com.ysy.config;
import com.ysy.Person;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
/**

  • @author shanyangyang
  • @date 2020/6/2
    */
    //使用PropertySource读取外部文件中的k/v保存到运行的环境变量中
    @PropertySource(value = https://www.it610.com/article/{“classpath:/person.properties”})
    @Configuration
    public class MainConfigOfPropertyValue {
    @Bean
    public Person person(){
    return new Person();
    }
}
配置文件 【四|Spring使用——读取properties配置文件】四|Spring使用——读取properties配置文件
文章图片

实体类多种赋值方式
package com.ysy; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.PropertySource; /** * @author shanyangyang * @date 2020/5/22 */ public class Person { //使用@value赋值 //1、基本数值 //2、可以写SPEL表达式 #{} //3、可以写${},取出配置文件中的值(运行的环境变量中的值) @Value("ysy") private String name; @Value("#{10+18}") private Integer age; @Value("${person.nickName}") private String nickName; public Person() { } public Person(String name, Integer age) { this.name = name; this.age = age; } 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 String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + ", nickName='" + nickName + '\'' + '}'; } }

测试类
package com.ysy.test; import com.ysy.config.MainConfigOfProfile; import org.junit.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; /** * @author shanyangyang * @date 2020/6/8 */ public class IOCTestOfProfile { //AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MainConfigOfProfile.class); //1、使用命令行动态参数,在虚拟机参数位置加载:-Dspring.profiles.active=test //2、创建一个AnnotationConfigApplicationContext对象,无参构造器; 设置需要激活的环境;注册配置类,启动刷新容器 @Test public void test01(){ AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); context.getEnvironment().setActiveProfiles("testA"); context.register(MainConfigOfProfile.class); context.refresh(); print(context); } private void print(AnnotationConfigApplicationContext context) { String[] beanDefinitionNames = context.getBeanDefinitionNames(); for (String name:beanDefinitionNames){ System.out.println(name); } } }

二、SpringXML-读取properties配置文件

    推荐阅读