文章目录
- 一、用Profile文件进行多环境配置
- 二、用@Profile注解进行多环境配置
- 三、随机值设置以及参数间引用
一、用Profile文件进行多环境配置
1、创建项目
- 添加依赖
2、初始化
3、创建配置文件application-dev.properties
#配置服务器端口号
server.port=8081
4、创建配置文件application-test.properties
#配置服务器端口号
server.port=8082
5、创建配置文件application-pro.properties
#配置服务器端口号
server.port=8083
6、指定使用环境
(1)、 在全局配置文件里指定当前使用环境 - 开发环境
(2)、运行查看效果
(3)、 在全局配置文件里指定当前使用环境 - 测试环境
- spring.profiles.active=test,表明当前生效的环境配置文件是application-test.properties
(4)、运行查看效果
(5)、在全局配置文件里指定当前使用环境 - 生产环境
(6)、运行查看效果
7、通过命令行方式指定使用环境
(1)、用IDEA将Maven项目打成jar包
-
Maven — ProfileDemo01 — LifeCycle —package
-
单击package
-
完成时,可以在target目录里查看生成的项目jar包profiledemo01-0.0.1-SNAPSHOT.jar
(2)、在终端执行jar包,选择使用环境 - 开发环境
D:\ldeaProjects\ProfileDemo01>cd target
D:\ldeaProjects\ProfileDemo01\target>java -jar profiledemo01-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
- 按Ctrl + C组合键,停止项目的运行
(3)、在终端执行jar包,选择使用环境 - 测试环境
D:\ldeaProjects\ProfileDemo01\target>java -jar profiledemo01-0.0.1-SNAPSHOT.jar --spring.profiles.active=test
- 按Ctrl + C组合键,停止项目的运行
(4)、在终端执行jar包,选择使用环境 - 生产环境
D:\ldeaProjects\ProfileDemo01\target>java -jar profiledemo01-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro
- 按Ctrl + C组合键,停止项目的运行
二、用@Profile注解进行多环境配置
1、创建项目
2、添加依赖
3、初始化
4、在main/java下创建net.tp.lesson.dao子包
5、创建数据库配置接口DatabaseConfig
package net.tp.lesson05.dao;
/**
* 功能:数据库配置接口
* 作者:tp
* 日期:2021年5月8日
*/
public interface DatabaseConfig {
void connector();
}
6、在main/java下创建net.tp.lesson.config子包
7、创建数据库配置实现类MySQLConfig
package net.tp.lesson05.config;
import net.tp.lesson05.dao.DatabaseConfig;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
/**
* 功能:MySQL数据库配置类
* 作者:tp
* 日期:2021年05月08日
*/
@Configuration // 指定为配置类
@Profile("mysql") // 配置环境名称
public class MySQLConfig implements DatabaseConfig {
@Override
public void connector() {
System.out.println("项目使用MySQL数据库环境~");
}
}
8、创建数据库配置实现类OracleConfig
package net.tp.lesson05.config;
import net.tp.lesson05.dao.DatabaseConfig;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
/**
* 功能:Oracle数据库配置类
* 作者:tp
* 日期:2021年05月08日
*/
@Configuration // 指定为配置类
@Profile("oracle") // 配置环境名称
public class OracleConfig implements DatabaseConfig {
@Override
public void connector() {
System.out.println("项目使用Oracle数据库环境~");
}
}
9、创建数据库配置实现类SybaseConfig
package net.tp.lesson05.config;
import net.tp.lesson05.dao.DatabaseConfig;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
/**
* 功能:Sybase数据库配置类
* 作者:tp
* 日期:2021年05月08日
*/
@Configuration // 指定为配置类
@Profile("sybase") // 配置环境名称
public class SybaseConfig implements DatabaseConfig {
@Override
public void connector() {
System.out.println("项目使用Sybase数据库环境~");
}
}
10、在全局配置文件application.properties里配置使用环境
#配置使用环境
spring.profiles.active=oracle
11、打开测试类,编写测试方法
package net.tp.lesson05;
import net.tp.lesson05.dao.DatabaseConfig;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class ProfileDemo02ApplicationTests {
// 注入数据库配置实体
@Autowired
private DatabaseConfig databaseConfig;
@Test
void contextLoads() {
}
@Test
void testOracleConfig(){
// 调用数据库配置实体的方法
databaseConfig.connector();
}
}
12、运行查看效果
13、设置使用环境 - MySQL数据库环境
(1)、编写全局配置文件application.properties里配置使用环境
(2)、编写测试方法
@Test
void testMySQLConfig(){
// 调用数据库配置实体的方法
databaseConfig.connector();
}
(3)、运行查看效果
14、设置使用环境 - Sybase数据库环境
(1)、编写全局配置文件application.properties里配置使用环境
(2)、编写测试方法
@Test
void testSybaseConfig(){
// 调用数据库配置实体的方法
databaseConfig.connector();
}
(3)、运行查看效果
三、随机值设置以及参数间引用
1、创建项目
2、添加依赖
3、初始化
4、在全局配置文件里配置随机值
#任意一个随机数
my.number=${random.value}
#一个随机整数
my.integer=${random.int}
#一个长整型的随机数
my.long=${random.long}
#获取一个随机的UUID值
my.uuid=${random.uuid}
#小于10的随机整数
my.number.less=${random.int(10)}
#随机产生1024至65535之间的数
my.number.range=${random.int[1024,65535]}
5、打开测试类,编写测试方法
(1)、测试随机数my.number
- 运行查看效果
(2)、测试随机整数my.integer
- 运行效果
(3)、测试长整型随机数my.long
- 运行效果
(4)、测试随机UUID值my.uuid
- 运行查看效果
(5)、测试小于10的随机整数my.number.less
- 运行效果
(6)、测试1024至65535之间的随机整数my.number.range
- 查看运行效果
6、参数间的引用
- 在appication.properties文件里,后定义的属性可引用前面定义的属性
7、修改测试类RandomSetDemoApplicationTests
- 运行查看效果