关于Springboot导入配置文件数据的几种方法

spingboot默认的两种配置文件:

*.application.properties
*.application.yml
Tips: 配置文件放在/src/main/resources目录下或者类路径/config



properties与yml的使用方法不同之处

例如我们要设定项目的标题和描述

在properties的写法:

com.lazy.title = springboot
com.lazy.description = 这是一个学习项目

在yml中的写法

com:
  lazy: 
	title: springboot
	description: 这是一个学习项目

在yml中的键值对必须要空格隔开,并且yml的层级关系是看左边空格对应出来的大小来判断。
字符串不用单双引号来判定,但是有转义字符的话,就得考虑了。
若是你想yml用行内写法的话,那么就类似于json字符串的写法了。


以上就是简单的properties和yml的用法,那么我们讲解如何来将配置文件使用到项目中

properties举例,yml相似

1. 使用注解@configurationProperties来获取配置文件中的数据,并且使之一一对应。

application.properties中的代码如下:

user.id = 1
user.name = xiaoling
user.passWord = 1235
   

对应到user实体类:

/* 利用@configurationProperties(prefix = "")来实现配置文件与实体类对应
               prefix对应的是application.properties中的user。
     然而@configurationProperties必须在容器内才能实现,则要加上@Component。
  */
@Component
@ConfigurationProperties(prefix = "user")
public class User {
	private int id;
	private String name;
	private String passWord;
	
    ...........
    }

2. 使用注解@value对成员变量进行赋值

@Component
public class User {
      @Value("${user.id}")
	private int id;
      @Value("${user.name}")
	private String name;
       @Value("${user.passWord}")
	private String passWord;
	
    ...........
    }

Tips: @configurationProperities可以使用驼峰命名法。

3. 使用@PropertiesSource(value = {“classpath: xxx”})
该注解只是将配置文件放在了全局的配置文件中,所以要使用@configurationProperties来读取xx配置文件的数。

@PropertySource(value = {"classpath:user.properties"})
public class User {
	
	
	private int id;
	private String name;
	private String passWord;

╮(╯▽╰)╭ 有人会说为什么要使用@PropertiesSource这么麻烦,不如直接用@ConfigurationProperties,但是!!!分开不是为了方便查看修改嘛

这个是我学习springboot期间的一些相关笔记,若是有不对的地方欢迎一起讨论一下

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值