SpringBoot支持多环境的配置,在我们项目开发过程中一般都会有这几个阶段,开发,测试,上线等这几个阶段,但是我们这几个阶段的环境配置都是不同的,每个阶段都有对应的环境,我们有时需要来回切换调试,项目中只有一个环境会很麻烦,而SpringBoot就有这样一个设计,我们按照设计者约束去创建需要的环境,可以在外部或内部直接更改配置就OK了。
按照约束去创建指定的环境 ,放在src/main/resources下
//开发环境 端口号8080 (application-dev.properties)
server.port=8080;
//测试环境 端口号8081 (application-test.properties)
server.port=8081;
//上线环境 端口号 80 (application-prod.properties)
server.port=80;
//默认环境 端口号 8082 (application.properties)
spring.profiles.active=dev //使用指定的环境
server.port=8082;
多环境的切换(内部,外部)方式
//内部切换环境,在默认配置中添加(application.properties)
spring.profiles.active= dev/prod/test
//外部切换环境,打包完成后,通过指令修改配置(在 jar 包相同位置打开 指令)
// -- ☞修改
java -jar xxx.jar --spring.profiles.active=prod
//当然 也可以关闭指令操作,毕竟会影响到安全性,关闭方法
//在启动方法中(App)
new SpringApplication(app.class).setAddCommandLineProperties(false);
下面是将properties 文件中的数据取出,为实体类赋值
先创建 stu.properties
##学生类自定义属性
student.name=Tom
student.age=22
//赋值方式有两种,一个是通过@Value为每个元素指定值
@Componter
@PropertySource({"classpath:stu.properties"})//指定配置文件的位置
public class Student {
@Value("${student.name}")
private String name;//姓名
@Value("${student.age}")
private int age;//年龄
}
//第二种方式 @ConfigurationProperties(prefix="student")//该注解放在类上面
@Componter
@PropertySource({"classpath:stu.properties"})//指定配置文件的位置
@ConfigurationProperties(prefix="student")//该注解放在类上面
public class Student {
@Value("Marry")
private String name;//姓名
private int age;//年龄
}
随机数的使用
##随机32位 MD5字符串
user.random.secret=${random.value}
#随机int数字
user.random.intNumber=${random.int}
#随机long数字
user.random.longNumber=${random.long}
#随便uuid
user.random.uuid=${random.uuid}
#随机10以内的数字
user.random.lessTen=${random.int(10)}
#随机1024~65536之内的数字
user.random.range=${random.int[1024,65536]}
##绑定方式是和上面一样的(注意的是 批量操作时候顺序要对应)