springboot的配置

1.Springboot的配置
Springboot使用一个全局的配置文件,配置文件名固定
application.yml
application.properties
yml的配置举例
在这里插入图片描述
1.1yml基本语法
k: v:表示键值对,k:后空格必须要有
属性和值分大小写敏感的
上图server和servlet表示同级关系(servlet可不设置)
1.2值得写法
1.2.1字面量:普通的值(字符串,数字,布尔值) k: v:字面直接来写;
字符串默认不用加上单引号或者双引号;
“”:双引号;会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi
‘’:单引号;不会转义特殊字符,特殊字符终只是一个普通的字符串数据name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi
1.2.2对象
k:v:在下一行来写对象的属性和值的关系,注意缩进

1.2.3数组
用- 值来表示数组中的一个元素
在这里插入图片描述
1.2将javabean注入到配置文件中
1.2.1分别提供实体类 Person Dog

public class Person {

    private String lastName;
    private Integer age;
    private Boolean boss;
    private Date birthday;
    private Map<String, Integer> maps;
    private List<Object> lists;
    private Dog dog;

    /*注意Get Set 以及toString方法*/
}

在注入的Person的类上添加注解

@Component//<bean id="person" class="com.yousian.pojo.Person"></bean>
//配置属性 将配置文件中的指定的属性值绑定到bean里面
@ConfigurationProperties(prefix = "person")

public class Person {

@configurationProperties:就是告诉springboot将当前类的所有属性和配置文件中的相关信息进行绑定
prefix:配置文件中的哪个属性进行一一映射
@Component:只有将这个类配置在spring容器中,才能使用@ConfigurationProperties的功能
使用@Autowired即可访问该对象

public class Dog {
    private String name;
    private Integer age;

    /*注意Get Set 以及toString方法*/

}

1.2.2在application.yml注入属性
在这里插入图片描述
**1.3@Value获取值和@ConfigurationProperties获取值比较
**在spring中@Value相当于在配置文件中的
<bean id=” ” class=” ”>
<property name=” ” value=” ”></ property>

emp中使用@Value注解中获取属性
在这里插入图片描述
使用SPEL表达式获取
在这里插入图片描述
1.4@ConfigurationProperties和@Value的区别
最大的区别就是@ConfigurationProperties支持数据校验,而@Value则不支持。

小总结:
配置文件yml还是properties都能获取到值
如果说,我们只是在某个业务逻辑中需要获取以下配置文件中的某项值,使用@Value;如果我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用哪个@ConfigurationProperties;;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值