初学Springboot(三)


前言

本章来学习,Proifile多环境配置,随机值设置以及参数间引用


提示:以下是本篇文章正文内容,下面案例可供参考

一、Proifile多环境配置

Spring Profiles是什么:

Spring Profiles允许用户根据配置文件(dev,test,prod等-开发测试生产)来注册bean,因此,当应用程序在开发中运行时候,只有某些bean可以加载,而在PRODUCTION中,某些其他bean可以加载,假设我们要求是Swagger文件仅用于QA环境,并且禁用所有其他文档,这可以是由配置文件来完成,SpringBoot使得配置文件变得简单。

为什么要多环境配置

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

多环境配置方式

1.Profile文件多环境配置

2.@Profile注解多环境配置

使用步骤

1.多环境配置文件格式

application-{profile}.properties
注:{profile}对应具体的环境标识
在这里插入图片描述
dev:开发环境下

test:测试环境下

prod:生产环境下

我们需要用到哪个环境就在全局配置文件设置spring.profiles.active属性激活

#对应各个环境
#格式为spring.profiles.active=对应的环境
spring.profiles.active=dev


  
 
  • 1
  • 2
  • 3
  • 4

例子:

比如我们现在想在测试环境下进行工作
我们先要在全局配置文件中spring.profiles.active属性激活测试环境

spring.profiles.active=test

  
 
  • 1

其次在测试环境下的配置文件编写我们想要设置的属性
这里我们试一下更改端口号

server.port=8082

  
 
  • 1

然后然后运行启动类
在这里插入图片描述
在config包里面创建一个接口DBConnector

public interface DBConnector { public void configure();
}


  
 
  • 1
  • 2
  • 3
  • 4

在接口同级别的包里面创建接口实现类

@Configuration//声明为配置类 能被spring扫描到,生成实例存到容器中
@Profile(value = "test")//指定多环境配置类的标识
public class TestDBConnector implements DBConnector { @Override public void configure() {
System.out.println("数据库配置环境-test"); }
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在测试类中

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

可以看到就成功在测试环境下进行相应测试了

二.随机值设置以及参数间引用

随机值设置random

格式为

${random.xx}

  
 
  • 1

例如设置你的名字在20以内的随机数

you.age=${random.int(20)}

  
 
  • 1

在测试类中

@Value("${you.age}") private int age; @Test public void contextLoads() { System.out.println(age);}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

可以看到控制台打印一个1-20随机数字

参数间的引用

在全局配置文件中,各种参数可以互相引用
格式为

${xx}  
#xx表示先前在配置文件中已经配置过的属性名。

  
 
  • 1
  • 2

例如在全局配置文件中

you.name=lihua
you.hobby=swim
you.age=${random.int(20)}
#引用参数
you.like=${you.name}and age=${you.age} like ${you.hobby}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

在测试类中

@Value("${you.like}") private String like; @Test public void contextLoads() { System.out.println(like);}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

在控制台中看到
在这里插入图片描述

总结

本次简单介绍Proifile多环境配置以及随机参数Random以及如何引用参数 基本可以简单跳过

文章来源: blog.csdn.net,作者:IT李西西,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/loler15/article/details/114792617

(完)