Spring Boot ——Spring Boot配置

一、配置文件

1、Spring Boot使用一个全局得到配置文件,有两种形式

  •   application.properties

  •   application.yml

2、作用:修改Spring Boot的自动配置的默认值,Spring Boot底层会自动帮我们配置好。

3、yml认识,全称(YAML Ain't Markup Language),是一个标记语言。

  • 对比,以前的配置文件;大都使用xml格式的文件,现在yml配置文件比xml、json格式更适合做配置文件,简单方便。

  • 如例:

       yml格式

server:
  port: 8090
 xml格式
<server>
   <port>8090</port>
</server>

 

二、yml语法

1、基本语法

  • yml文件中是以键值对的形式来进行一些手动需要的配置,格式如:key:(空格)value 即可,注意,这里面一定要带上空格。

  • 每一层级关系,我们需要通过空格缩进来指引其属于哪一层级,只要左对齐的一列数据,都属于同一层级的。

       如:

server:
  port: 8090
  error:
    path:

2、属性值的配置敏感,需按规定配置

  •  基本数值(数字、字符串、布尔值),这里包含字符串

a.     直接以key: value按照字面数值直接写;

b.    字符串默认不需要加单双引号;

  •  对象值、Map,还是以键值对存在

    key: value,直接在对象的下一行写属性和值,需要注意

person:                     
      name: xiaoming                    
      age: 18

   也可以行内写法,其实也还是键值对的衍生

person: {name: xiaoming,age: 18}
  •   数组、List、Set

用“- 值”表示数组中的一个元素

animals:
       - dog
       - cat

行内写法

animals: [dog,cat]

 

三、从配置文件中获取值

 

将配置文件中的值映射到组件中

 

yml配置文件

server:
  port: 8090
  
person:
  name: xiaoming
  age: 18
  student: false
  birth: 2015/12/23
  maps: {k1: v1,k2: v2}
  lists:
    - xiaoming
    - xiaohong
  cat:
    name: xiaomi
    age: 2

 

javaBean:

package com.example.springboot02.bean;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 将配置文件中配置的每一个属性的值映射到这个组件中
 * @ConfigurationProperties:告诉SpringBoot将来类中的所有属性和配置文件中相关的配置进行绑定,
 *     prefix = "person":配置文件中哪个下面的所有属性进行映射
 *
 *     只有这个组件是容器中的组件,才能使用容器提供的@ConfigurationProperties功能
 */
@Component//将这个组件放入容器中
@ConfigurationProperties(prefix = "person")
public class Person {

    private String name;
    private Integer age;
    private Boolean student;
    private Date birth;

    private Map<String, Object> maps;
    private List<Object> lists;
    private Cat cat;

   ...
}

 

单元测试

@RunWith(SpringRunner.class)
@SpringBootTest//表示Spring Boot的一个单元测试
class Springboot02ApplicationTests {

    @Autowired
    Person person;

    @Test
    void contextLoads() {
        System.out.println(person);
    }

}

 

上一篇:@SpringBootApplication及其相关注解

下一篇:@ConfigurationProperties 、 @Value 、 @PropertySources 、@Configuration 、@Bean                

 

                                                           

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值