springboot读取配置文件的几种方式

1,介绍:

       开发中难免会有使用到定义属性的时候,那学习springboot的肯定都知道获取方式,因为工作常用,我简单归纳几种方式以便需时查看。

1.1,yml格式常见的几种方式:

application.yml配置文件:

company:
	id: 1
 	nanme: 东方红
  	describe: 一种颜色,美好的颜色

第一种方式:

/**
 * @author lblz
 * @deacription
 * @date 2021/9/29 10:08
 **/
@Data
@ToString
@Component
@ConfigurationProperties(
        prefix = "company"
)
public class Company {
    /**
     * id
     */
    private Long id;

    /**
     * 公司名称
     */
    private String name;

    /**
     * 描述
     */
    private String describe;
}

第二种方式:
使用@value注解

/**
 * @author lblz
 * @deacription
 * @date 2021/9/29 10:08
 **/
@Data
@ToString
@Component
public class Company {
    /**
     * id
     */
    @Value(value = "${company.id}")
    private Long id;

    /**
     * 公司名称
     */
    @Value(value = "${company.name}")
    private String name;

    /**
     * 描述
     */
    @Value(value = "${company.describe}")
    private String describe;
}

测试类:

/**
 * @author lblz
 * @deacription
 * @date 2021/9/29 10:13
 **/
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestYml {

    @Autowired
    private Company company;

    @Test
    public void test01() {
        System.out.println(company);
        /* 输出结果:
			第一种方式: Company(id=1, name=东方红, describe=一种颜色,美好的颜色)
			第二种方式: Company(id=1, name=东方红, describe=一种颜色,美好的颜色)
		*/ 
    }
}

1.2,properties格式常见的几种方式:

company.properties配置文件:

company.id=1
company.name=小小红旗
company.describe=人民的精神信仰

第一种方式:

/**
 * @author lblz
 * @deacription
 * @date 2021/9/29 10:08
 **/
@Data
@ToString
@Component
@PropertySource(value = {"classpath:company.properties"}, encoding = "UTF-8")
public class Company {
    /**
     * id
     */
    @Value(value = "${company.id}")
    private Long id;

    /**
     * 公司名称
     */
    @Value(value = "${company.name}")
    private String name;

    /**
     * 描述
     */
    @Value(value = "${company.describe}")
    private String describe;
}

第二种方式:

/**
 * @author lblz
 * @deacription
 * @date 2021/9/29 10:08
 **/
@Data
@ToString
@Component
@PropertySource(value = {"classpath:company.properties"}, encoding = "UTF-8")
@ConfigurationProperties(prefix = "company")
public class Company {
    /**
     * id
     */
    private Long id;

    /**
     * 公司名称
     */
    private String name;

    /**
     * 描述
     */
    private String describe;
}

测试类:

/**
 * @author lblz
 * @deacription
 * @date 2021/9/29 10:13
 **/
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestYml {

    @Autowired
    private Company company;

    @Test
    public void test01() {
        System.out.println(company);

        /*输出结果:
            第一种方式: Company(id=1, name=小小红旗, describe=人民的精神信仰)
            第二种方式: Company(id=1, name=小小红旗, describe=人民的精神信仰)
        */
    }
}

2,对比:

上一篇:MacOS 使用expect 设置用户密码


下一篇:uniapp 富文本框 获取输入字符长度