Spring Boot学习笔记(七)


在实际开发中,应用程序通常需要部署到不同的运行环境中,例如开发环境、测试环境、生产环境等。不同的环境可能需要不同的环境配置,针对这种情况,不可能手动变更配置文件来适应不同的开发环境,此时就需要对环境进行多环境配置。

使用Profile文件来进行多环境配置

application-{profile}.properties

  • {profile}对应具体的环境标识

激活指定环境的方式:

  1. 通过命令行方式激活指定环境的配置文件
  2. 在全局配置文件中设置spring.profiles.active属性激活

演示过程

创建3个properties文件,分别命名为“application-dev.properties”(开发)、“application-test.properties”(测试)、“application-prod.properties”(生产)
为了演示效果,分别对三个配置文件进行端口号的配置:
application-dev.properties

server.port=8081

application-test.properties

server.port=8082

application-prod.properties

server.port=8083

通过命令行方式激活指定环境的配置文件
在敲命令之前,先将项目进行打包(最好先进行clean操作,将target目录进行清空)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开命令窗口,进入target目录,并输入命令:
在这里插入图片描述

F:\chapter02\target>java -jar chapter02-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

其中,dev可换成test和prod,显示出不同的结果

回车,运行后可以发现,Tomcat的默认端口被修改成8081
在这里插入图片描述
在全局配置文件中设置spring.profiles.active属性激活
在全局配置文件中,输入代码:

spring.profiles.active=test

在项目启动类中,进行测试:
在这里插入图片描述
测试成功

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

相关注解
@Profile:作用于类,通过value属性指定环境配置
注:等同于Profile文件名称中的profile值。
激活指定环境的方式

  • 在全局配置文件中配置spring.profiles.active属性

演示过程
首先在config包下创建一个名为DBConnector接口,在这个接口中声明一个方法:

package com.itheima.chapter02.config;

public interface DBConnector {

    public void configure();
}

接下来,再在config包下,创建类实现DBConnector接口,并重写configure()方法来模拟进行不同的数据库的连接配置。

package com.itheima.chapter02.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;

@Configuration
@Profile(value="dev")	//指定多环境配置类的标识
public class DevDbConnector implements DBConnector {
    @Override
    public void configure(){
        System.out.println("数据库配置环境--dev");	
    }
}

然后,在全局配置文件中设置spring.profiles.active属性激活

spring.profiles.active=dev

最后在测试类中,测试:

    @Autowired
    private DBConnector dbConnector;
    @Test
    public void dbtest(){
        dbConnector.configure();
    }

在这里插入图片描述
还可以用test、prod进行测试,方法是一致的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值