欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot(二)项目属性配置

程序员文章站 2022-06-25 20:19:15
...

写在前面:本次讲解都是在MAC OS环境下进行,并且是接着上一章(Spring Boot第一个项目)进行的

目录

  • @V aule
  • @aaa@qq.com
  • 多环境配置

本次讲解的功能是:通过对配置文件application.yml添加属性,然后可以在HelloController文件进行引用。

一、@Vaule

  1、先看配置文件application.yml如何添加属性

Spring Boot(二)项目属性配置
图1

  在yml文件,要添加新的属性,换行后,一定不能在前面加空格,否则会归为上一个属性集。在图1里,我添加了cupSize这个属性,它是自己定义的一个属性,完整定义:cupSize: B

2、引用

   下一步是要在HelloController.java里引用,先打开文件,然后使用@Vaule进行引用,见图2。

Spring Boot(二)项目属性配置
图2

  第11、12行就是@Value的语法

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

第16行,就是将cupSize这个属性值打印出来,运行得到图3。

Spring Boot(二)项目属性配置
图3

3、多重引用,和配置内引用属性

我们在进行配置的时候,一般要配置很多属性,也可能要在配置内引用配置好的属性,所以我们先来看下配置文件。

Spring Boot(二)项目属性配置
图4

见第5行,content: "cupSize: ${cupSize}, age: ${age}" 

这句分别引用了cupSize和age这两个属性,${" "}大括号内则是属性名,在外层的" "包含的是字符串。

下面再看HelloController.java如何引用:

Spring Boot(二)项目属性配置
图5

也就是多次输入@Value命令进行操作,如果属性再多这种方式就会显得繁琐,于是下面将介绍另一种更加简洁的方法。

二、@aaa@qq.com

1、准备

首先这种注释在1.4版本以上的spring boot不能直接使用,要在pom.xml内加上一段配置语句

<dependency>
            <groupId> org.springframework.boot </groupId>
            <artifactId> spring-boot-configuration-processor </artifactId>
            <optional> true </optional>
</dependency>

配置完成如图6

Spring Boot(二)项目属性配置
图6

 

下面正式开始介绍方法

2、新建GirlProperties.java文件

在新建之前,我们先对配置文件application.yml进行修改,在给所有属性加上一个头文件girl,如图7

Spring Boot(二)项目属性配置
图7

接着在com.imooc.girl文件夹里右键新建JAVA CLASS文件,输入语句如图8。

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

@Component
@ConfigurationProperties(prefix = "girl")
public class GirlProperties {

    private String cupSize;

    private Integer age;

    public String getCupSize() {
        return cupSize;
    }

    public void setCupSize(String cupSize){
        this.cupSize = cupSize;
    }

}
Spring Boot(二)项目属性配置
图8

可以看到在@ConfigurationProperties后面有一个(prefix="girl"),这里的prefix,就是在配置文件里寻找头文件为girl的属性。

然后只要使用get和set方法后就配置完成了,接下来就是引用

Spring Boot(二)项目属性配置
图9

可以从图9看出,引用部分的代码变得很简洁明了,所以是很推荐这种配置方法的。

三、多环境配置

  在做项目的时候,我们会有不同的环境如:开发环境、生产环境。在不同的环境,可能属性的值会改变,那么你就需要去修改配置,但我们不希望经常修改配置,所以介绍如下方法:

  给配置文件application.yml复制多两份:application-dve.yml和application-prod.yml,然后将原application内的代码修改,整个过程如下图

Spring Boot(二)项目属性配置
图10
Spring Boot(二)项目属性配置
图11
Spring Boot(二)项目属性配置
图12

然后我们通过在文件application.yml里修改active的值来选择用哪个配置文件进行启动项目,见下图13和14

    下图13,active: dev,就是用application-dev.yml文件,并点击右上角的启动按钮。

Spring Boot(二)项目属性配置
图13

 下图14,active: prod,使用application-prod.yml这个文件,并点击右上角启动按钮。

Spring Boot(二)项目属性配置
图14

然后两个使用不同配置文件的项目,在不同端口同时启用了。

Spring Boot(二)项目属性配置
图15