Springboot Study-入门&配置

Springboot Study 入门&配置

1.入门

构建了Springboot工程,创建springboot项目,完成了第一个项目helloworld

2.配置

2.1 配置分类:

properties>yml>yaml(优先级)

2.2 yaml
  • 基本语法:大小写敏感,数值前要有空格,空格缩进表示层级关系

  • 数据格式:
    * 对象
    * 数组 (使用“-”表示数组每个元素)
    * 纯量
    * 参数引用:$

name: abc

person:
  name: zhangsan
  age: 18

address:
  - beijing
  - shanghai
  - hangzhou

msg1: "hello \n world"
msg2: 'hello \n world'
2.3如何读取配置文件内容

(1) @Value(${})

   @Value("${name}")
    private String name;

    @Value("${person.name}")
    private String name2;

    @Value("${person.age}")
    private String age;

    @Value("${address[0]}")
    private String address1;

    @Value("${msg1}")
    private String msg1;

(2) environment

  @Autowired
    private Environment environment;
 System.out.println(environment.getProperty("name"));
        System.out.println(environment.getProperty("person.name"));
        System.out.println(environment.getProperty("person.age"));
        for (int i = 0; i < 2; i++) {
            System.out.println(environment.getProperty("address["+i+"]"));

        }

(3) @ConfigurationProperties
新建一个Person类

@Component
@ConfigurationProperties(prefix = "person")
public class Person {
    private String name;
    private int age;

    private String[] address;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String[] getAddress() {
        return address;
    }

    public void setAddress(String[] address) {
        this.address = address;
    }



    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

注入:

@Autowired
    private Person person;

调用

System.out.println(person.toString());
        String address[]=person.getAddress();
        for(String s:address){
            System.out.println(s);
        }
2.4 profile

不同环境下配置可能不同,profile功能就是来进行动态配置切换的

2.4.1 profile配置方式

(1)多profile文件方式

在主properties中:spring.profiles.active=dev

(2)yml多文档方式

spring:
  profiles:
    active: dev

---
spring:
  config:
    activate:
      on-profile: dev
server:
  port: 8081

---
spring:
  config:
    activate:
      on-profile: pro
server:
  port: 8082

---
spring:
  config:
    activate:
      on-profile: test
server:
  port: 8083
2.4.2 profile激活方式

(1)配置文件
在配置文件中配置:spring.profiles.active=dev

(2)虚拟机参数
在VMoption指定:-Dspring.profiles.active=dev

(3)命令行参数
java——jar xxx.jar --spring.profiles.active=dev

2.5 内部配置加载顺序
  1. file:./config/ :当前项目下的/config目录下
  2. file:./ :当前项目的根目录
  3. classpath:/config/:
    classpath的/config目录
    4.classpath:/ :classpath的根目录
2.6 外部配置加载顺序

看官网:http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

posted @ 2024-07-16 17:05  jhhhred  阅读(20)  评论(0)    收藏  举报