Spring Framework

Spring Boot ——Spring Boot配置

2019-12-08  本文已影响0人  程序员方方土

一、配置文件

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

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

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

yml格式

server:
  port: 8090

xml格式

<server>
   <port>8090</port>
</server>

二、yml语法

1、基本语法

如:

server:
  port: 8090
  error:
    path:

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

person:                     
      name: xiaoming                    
      age: 18

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

person: {name: xiaoming,age: 18}
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);
    }
 
}

上一篇:Spring Boot ——@SpringBootApplication及其相关注解
下一篇: Spring Boot ——@ConfigurationProperties 、 @Value 、 @PropertySources 、@Configuration 、@Bean and so on

上一篇 下一篇

猜你喜欢

热点阅读