Spring Boot(二)项目属性配置

版权声明:转载请注明 https://blog.csdn.net/li13168690086/article/details/82255668

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

目录

  • @V aule
  • @ConfigurationProperties+@Component
  • 多环境配置

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

一、@Vaule

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

图2
图1

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

2、引用

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

图3
图2

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

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

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

图3
图3

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

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

图4
图4

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

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

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

图5
图5

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

二、@ConfigurationProperties+@Component

1、准备

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

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

配置完成如图6

图6
图6

下面正式开始介绍方法

2、新建GirlProperties.java文件

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

图7
图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;
    }

}
图7
图8

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

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

图9
图9

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

三、多环境配置

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

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

图10
图10
图11
图11
图12
图12

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

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

图13
图13

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

图14
图14

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

图15
图15

猜你喜欢

转载自blog.csdn.net/li13168690086/article/details/82255668