Spring Boot基础学习笔记05:Spring Boot多环境配置

本文详细介绍了在SpringBoot项目中进行多环境配置的必要性,包括如何创建不同环境的配置文件(如开发、测试、生产环境),并通过配置文件全局指定或命令行指定使用环境。此外,还展示了如何利用@Profile注解实现根据环境选择不同的数据库配置,以适应不同环境的数据库需求。
摘要由CSDN通过智能技术生成

一、项目进行多环境配置的必要性

  • 在实际开发中,应用程序通常需要部署到不同的运行环境中,例如开发环境、测试环境、生产环境等。不同的环境可能需要不同的环境配置,针对这种情况,不可能手动变更配置文件来适应不同的开发环境,通常需要对项目进行多环境配置,Spring Boot框架提供了两种多环境配置的方式,分别是Profile文件多环境配置和@Profile注解多环境配置。同时,会额外讲解在Spring Boot配置文件中设置属性时,除了可以像前面示例中显示的配置属性值外,还可以使用随机值和参数间引用对属性值进行设置。

(一)创建Spring Boot Web项目ProfileDemo01

在这里插入图片描述
在这里插入图片描述

(二)创建多环境配置文件

  • 配置文件命名格式:application.yaml
  • 此例仅演示端口号的配置,实际应用中可以配置许多内容

1、模拟开发环境,创建配置文件application.yaml

在这里插入图片描述

spring:
  profiles:
    active: dev#开发环境

2、模拟测试环境,创建配置文件application-dev.yaml

server:
  port: 8081
  servlet:
    context-path: /lzy

3、模拟测试环境,创建配置文件application-test.properties

server:
  port: 8082
  servlet:
    context-path: /szechwan

4、模拟生产环境,创建配置文件application-pro.properties

server:
  port: 8083
  servlet:
    context-path: /china

(三)指定使用环境

方式1、使用配置文件全局指定使用环境

在这里插入图片描述

@RestController
public class ProfileController {
    @GetMapping("/hello")
    public String hello(){
     return "Welcome to Spring Boot World~";
    }
}

在这里插入图片描述
在这里插入图片描述

方式2、通过命令行方式指定使用环境

(1)使用IDEA将Maven项目打成jar包
  • Maven - ProfileDemo01 - LifeCycle - package
    在这里插入图片描述
    在这里插入图片描述
  • 在target目录里查看生成的项目jar包profiledemo01-0.0.1-SNAPSHOT.jar
    在这里插入图片描述
(2)在终端执行jar包,选择使用环境 - 开发环境
D:\IdeaProjects\ProfileDemo01>cd target
D:\IdeaProjects\ProfileDemo01\target>java -jar profiledemo01-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
  • 按Ctrl + C组合键,停止项目的运行
    在这里插入图片描述

三、使用@Profile注解进行多环境配置

(一)创建Spring Boot Web项目ProfileDemo02

在这里插入图片描述
在这里插入图片描述

(二)创建数据库配置接口DatabaseConfig

在这里插入图片描述

public interface DatabaseConfig {
    void connector();
}

(三)创建三个数据库配置实现类

1、创建数据库配置实现类MySQLConfig

在这里插入图片描述

@Configuration // 指定为配置类
@Profile("mysql") // 配置环境名称
public class MySQLConfig implements DatabaseConfig {
    @Override
    public void connector() {
        System.out.println("项目使用MySQL数据库环境~");
    }
}

2、创建数据库配置实现类OracleConfig

在这里插入图片描述

@Configuration // 指定为配置类
@Profile("oracle") // 配置环境名称
public class OracleConfig implements DatabaseConfig {
    @Override
    public void connector() {
        System.out.println("项目使用Oracle数据库环境~");
    }
}

3、创建数据库配置实现类SybaseConfig

在这里插入图片描述

@Configuration // 指定为配置类
@Profile("sybase") // 配置环境名称
public class SybaseConfig implements DatabaseConfig {
    @Override
    public void connector() {
        System.out.println("项目使用Sybase数据库环境~");
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值