其他分享
首页 > 其他分享> > springboot读取配置文件的几种方式

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,对比:

标签:Company,springboot,配置文件,company,describe,private,name,id,读取
来源: https://blog.csdn.net/qq_39134704/article/details/120543344