3、SpringBoot2之配置文件

这篇具有很好参考价值的文章主要介绍了3、SpringBoot2之配置文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3.1、环境搭建

3.1.1、在project创建新module

3、SpringBoot2之配置文件

3.1.2、选择maven

3、SpringBoot2之配置文件

3.1.3、设置module名称和路径

3、SpringBoot2之配置文件

3、SpringBoot2之配置文件

3.1.4、module初始状态

3、SpringBoot2之配置文件

3.1.5、引入springboot父工程

3、SpringBoot2之配置文件

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.18</version>
    </parent>

3.1.6、引入启动器依赖

3、SpringBoot2之配置文件

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

3.1.7、创建启动类

3、SpringBoot2之配置文件

package online.liaojy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author liaojy
 * @date 2023/12/18 - 6:24
 */
@SpringBootApplication
public class MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class,args);
    }

}

3.1.8、创建控制器

3、SpringBoot2之配置文件

package online.liaojy.controller;

import org.springframework.web.bind.annotation.RestController;

/**
 * @author liaojy
 * @date 2023/12/18 - 7:04
 */
@RestController
public class TestController {

}

3.2、统一配置管理概述

  • 在 Spring Boot 工程中,实行统一的配置管理,即所有参数配置都会集中到一个固定位置和命名的文件中;

  • 配置文件的固定位置是在 src/main/resources 目录下,该目录是 Spring Boot 工程默认的类路径(classpath);

  • 配置文件的命名格式为:application+后缀+扩展名,扩展名可以是 properties 、yaml 或 yml ;

  • 如果 application.properties 和 application.yml(.yaml) 同时存在,则 properties 的优先级更高。

    3、SpringBoot2之配置文件

3、SpringBoot2之配置文件

在 Spring Boot 工程的统一配置文件中,有自定义的参数项,也有固定的参数项,固定的参数项及默认值见 Spring Boot 官方文档:
https://docs.spring.io/spring-boot/docs/2.7.18/reference/html/application-properties.html

3.3、properties配置文件

3.3.1、创建application.properties配置文件

3、SpringBoot2之配置文件

# application.properties 为统一配置文件,既可以配置固定功能的参数项,也可以配置自定义的参数项

# 固定功能参数项的示例
server.port=8088
server.servlet.context-path=/application


# 自定义参数项的示例
my.name=liaojy

3.3.2、读取配置文件中的参数值

3、SpringBoot2之配置文件

在统一配置文件中的参数项的值,都可以使用@Value("${键}")的方式直接读取,但一般都是读取自定义的参数项的值

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

    @RequestMapping("/readApplication")
    public String readApplication(){
        return "Hello,"+name+"!";
    }

3.3.3、测试效果

3、SpringBoot2之配置文件

3.4、yaml配置文件(了解)

3.4.1、yaml概述

  • YAML(YAML Ain’t Markup Language)是一种基于层次结构的数据表示方式;

  • YAML配置文件的扩展名,可以是 yaml ,也可以是 yml ;

  • YAML 配置文件中的键和值之间使用冒号 “ : ” 分隔,并使用缩进表示层级关系,可以减少冗余的内容;

  • 相比起 properties 配置文件,YAML 配置文件支持复杂的数据类型,集合类型可以通过减号 “ - ” 来表示。

注意:因为 YAML 配置文件无法搜索完整的参数项名称,且空格和缩进的格式经常被人诟病,所以本文更推荐使用 properties 配置文件

3.4.2、创建application.yml配置文件

3、SpringBoot2之配置文件

# application.yml 为统一配置文件,既可以配置固定功能的参数项,也可以配置自定义的参数项

# 固定功能参数项的(properties)示例
# server.port=8088
# server.servlet.context-path=/application

# 固定功能参数项的(yml)示例
server:
  port: 8088          # 注意冒号 “ : ” 和值之间有一个空格
  servlet:
    context-path: /application


# 自定义参数项的(properties)示例,properties不支持复杂的数据类型
# my.name=liaojy

# 自定义参数项的(yml)示例
my:
  name: liaojy
  hobby:              # yml支持复杂的数据类型,,集合类型可以通过减号 “ - ” 来表示
    - book
    - music
    - movie

3.4.3、读取配置文件中的参数值

3、SpringBoot2之配置文件

读取 YAML 配置文件中参数值的方式,和读取 properties 配置文件中参数值的方式相同,都是使用@Value("${键}")的方式直接读取;

需要注意的是,使用@Value("${键}")的方式,不能读取集合类型(本例为 my.hobby )的值,
如果希望读取集合类型的值,则需要使用 @ConfigurationProperties 注解(详细见3.5节)

@Value("${my.name}")

3.4.4、测试效果

3、SpringBoot2之配置文件

3、SpringBoot2之配置文件

3.5、配置的批量注入

3.5.1、创建组件类

3、SpringBoot2之配置文件

package online.liaojy.pojo;

import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author liaojy
 * @date 2023/12/19 - 7:12
 */
// @Component 注解的作用是将类标识为bean组件,因为只有在ioc容器中才能使用依赖注入给成员变量赋值
@Component
public class Me {

    private String name;

    private List<String> hobby;

    public String getName() {
        return name;
    }

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

    public List<String> getHobby() {
        return hobby;
    }

    public void setHobby(List<String> hobby) {
        this.hobby = hobby;
    }

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

}

3.5.2、创建控制器方法

3、SpringBoot2之配置文件

    @Autowired
    private Me me;

    @RequestMapping("/me")
    public Me me(){
        return me;
    }

3.5.3、@Value注解的不足

  • @Value 注解需要一个个读取配置文件中的参数值到成员变量中;

  • @Value 注解只能读取单个值,不能读取集合类型(本例为 my.hobby )的值。

3、SpringBoot2之配置文件

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

    @Value("${my.hobby}")
    private List<String> hobby;

3、SpringBoot2之配置文件

3.5.4、@ConfigurationProperties注解

  • @ConfigurationProperties 注解是 spring boot 提供的重要注解,其作用是可以将配置批量注入到 bean 对象中;

  • 只要 @ConfigurationProperties 注解指定的前缀 + bean 对象中的属性名称,和配置文件中的“键”保持一致即可注入成功;

  • 该注解的优点除了方便(不需要一个个读取配置文件中的参数值到成员变量中)之外,还支持给集合类型赋值。

3、SpringBoot2之配置文件

@ConfigurationProperties(prefix = "my")

3.5.5、测试配置批量注入的效果

3、SpringBoot2之配置文件

3.6、多环境的配置

  • 在一个项目的实际过程中,会存在不同的环境,例如开发、测试和生产环境;

  • 在不同的环境中,会使用不同的参数配置,例如数据库信息和日志级别等;

  • 在 spring boot 中,可以根据不同的运行环境来加载不同的配置。

注意:如果希望默认配置文件不太臃肿,也可以使用该功能将不同模块的配置参数存放到不同的配置文件中

3.6.1、配置文件分离

3、SpringBoot2之配置文件

创建一个用于开发环境的配置文件 application-dev.properties

# 该文件的配置用于开发环境

my.name=liaojy_dev

3、SpringBoot2之配置文件

创建一个用于测试环境的配置文件 application-test.properties

# 该文件的配置用于测试环境

my.name=liaojy_test

3、SpringBoot2之配置文件

创建一个用于测试环境的配置文件 application-prod.properties

# 该文件的配置用于生产环境

my.name=liaojy_prod

3.6.2、激活配置文件

3、SpringBoot2之配置文件

# application.properties(.yml) 是 spring boot 的默认配置文件
# 如果没有额外激活其他(有后缀的)配置文件,则默认只使用 application.properties(.yml)

my.name=liaojy_default

# spring.profiles.active 参数用于激活指定的配置文件
# 本例激活的是 application-dev.properties 配置文件
# 如果想激活多个配置文件,则使用逗号分隔,例如:spring.profiles.active=dev,test
spring.profiles.active=dev

3.6.3、配置参数的优先级

  • 如果设置了 spring.profiles.active ,但和 application.properties 无重叠的配置参数,则application.properties 的配置参数依然生效;

  • 如果设置了 spring.profiles.active ,并且和 application.properties 有重叠的配置参数,则以激活的配置参数优先;

  • 如果设置了 spring.profiles.active ,并且激活多个配置文件以及有重叠的配置参数,则以最后激活的配置参数优先。

3.6.4、测试效果

3、SpringBoot2之配置文件

3、SpringBoot2之配置文件文章来源地址https://www.toymoban.com/news/detail-760271.html

到了这里,关于3、SpringBoot2之配置文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springBoot 启动指定配置文件环境多种方案

    springBoot 启动指定配置文件环境理论上是有多种方案的,一般都是结合我们的实际业务选择不同的方案,比如,有pom.xml文件指定、maven命令行指定、配置文件指定、启动jar包时指定等方案,今天我们一一分享一下,以供参考: 1、pom文件配置方案 对应的配置文件举例: 也可以

    2024年02月11日
    浏览(51)
  • 【VSCode】Windows环境下,VSCode 搭建 cmake 编译环境(通过配置文件配置)

    除了之前的使用 VSCode 插件来编译工程外,我们也可以使用配置文件来编译cmake工程,主要依赖 launch.json 和 tasks.json 文件。 目录 一、下载编译器 1、下载 Windows GCC 2、选择编译器路径 二、配置 debug 环境 1、配置 lauch.json 文件 2、配置 tasks.json 文件 三、编译工程 1、测试工程结

    2024年02月03日
    浏览(48)
  • IDEA下SpringBoot指定环境、配置文件启动

    Springboot项目有如下配置文件 主配置文件application.yml, 测试环境:application-test.yml 生产环境:application-pro.yml 开发环境:application-dev.yml 需要确保项目已经打成jar包: springboot-demo.jar,指定项目内其它配置文件application-dev.yml启动项目 1.3.Linux服务器上启动基于(三)的springboot项目

    2024年02月11日
    浏览(49)
  • springboot2.7以上版本配置swagger3.0.0版本浏览器无法打开swagger-ui

    1.最实用解决方式:将pom里的swagger依赖降到2.9.0即可 过低无法启动项目 1.2 Springboot2.6以后将SpringMVC 默认路径匹配策略从AntPathMatcher 更改为PathPatternParser Springfox 使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher 2.3.0.0版本swagger2访问地址为:http://loca

    2024年02月11日
    浏览(31)
  • java springboot yml文件配置 多环境yml

    如果是properties改用yml,直接新增一个 .yml ,删除原 .properties ,系统会自动扫描 application.properties 和 application.yml文件(如果同时存在两个文件,则会优先使用.properties文件?)。 注意:改了之后 需要maven 命令 clean一下 ,清个缓存。 一、yml多环境 如果需要配置多环境的配置

    2024年02月15日
    浏览(39)
  • SpringBoot - 配置文件application.yml使用详解(附:Profile多环境配置)

    SpringBoot - 配置文件application.yml使用详解(附:Profile多环境配置) 1,基本介绍 (1)YAML 是 JSON 的超集,简洁而强大,是一种专门用来书写配置文件的语言,可以替代 application.properties。 (2)在创建一个 SpringBoot 项目时,引入的 spring-boot-starter-web 依赖间接地引入了 s

    2024年02月08日
    浏览(46)
  • 1、vscode搭建C++开发环境及一些配置文件的含义

    下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/ 点击进去后然后下拉差不多到底 根据自身需求选择上图其中的一个下载 解压刚下载的压缩包,然后打开把mingw64这个文件夹复制到你想要放到的位置,类似如下(这就是你这个编译套件的地址) 在电脑上找

    2023年04月13日
    浏览(50)
  • anaconda环境搭建、配置JupyterNoteBook、git clone文件到Windows

    1、在Windows环境下 1、Win + R  输入 cmd ,进入终端 在终端输入 conda env list ,这行命令作用:查看你所创建的虚拟环境  2、创建自己的虚拟环境 conda create -n pytorch python=3.8 pytorch是环境名称,可随意更改,python=3.8是环境安装的python版本,也可按需更改。 3、激活环境 activate + 虚

    2024年02月03日
    浏览(34)
  • 22、springboot的Profile(通过yml配置文件配置 profile,快速切换项目的开发环境)

    就是通过 配置的 profile 快速切换开发环境。 ▲ 1. 声明Profile ▲ 2. 设置活动Profile 演示如何通过profile配置文件,来快速切换开发环境。 步骤: 1、 添加一个正式环境用的yml----application-dev.yml,写对应的正式环境配置 添加一个测试环境用的yml----application-test.yml,写对应的测试环

    2024年02月02日
    浏览(42)
  • Linux环境搭建(Ubuntu22.04)+ 配置共享文件夹(Samba)

    Linux开发环境准备 搭建Linux开发环境所需要的软件如下: VMware虚拟机: 用于运行Linux操作系统的虚拟机软件之一,VMware下载安装在文章中不做说明,可自行百度谢谢 Ubuntu光盘镜像: 用于源代码编译,有闲置计算机或服务器可以下载服务器版(没有图形用户界面),只有一台

    2024年02月04日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包