首页 技术 正文
技术 2022年11月7日
0 收藏 822 点赞 383 浏览 2412 个字

一、自定义属性

当我们创建一个springboot项目的时候,系统默认会为我们在src/main/java/resources目录下创建一个application.properties。同时也支持yml格式,可以将application.properties 改成
application.yml.以下以yml格式作为配置文件格式
my:
name: yida
age: 18

在java文件中读取配置文件的值只需要加@Value(“${属性名}”)
@RestController
public class HelloController {
@Value(“${my.name}”)
private String name;
@Value(“${my.age}”)
private int age;
@RequestMapping(“/testProperties”)
public String testProperties() {
return “my name is ” + name + ” my age is ” + age;
}
}
启动spring boot 在浏览器输入 http://localhost:8082/testProperties ,浏览器显示
my name is yida my age is 18

二、将配置文件的属性赋给实体类

当我们有很多配置属性的时候,这时我们会把这些属性作为字段来创建一个javabean,并将属性值赋予给他们,比如:
my:
name: yida
age: 18
number: ${random.int}
uuid : ${random.uuid}
max: ${random.int(10)}
value: ${random.value}
greeting: hi,i’m ${my.name}

创建一个java bean:
@Component
@ConfigurationProperties(prefix = “my”)
public class ConfigBean {
private String name;
private int age;
private int number;
private String uuid;
private int max;
private String value;
private String greeting;
//提供 get set 方法 ,这里就不贴出来了
}

通过注解@ConfigurationProperties(prefix = “my”) 将配置文件(这里是默认的配置文件application.properties 或 application.yml,后续会讲如何指定配置文件)绑定到java bean
写一个应用类测试一下
@RestController
public class HelloController {
@Autowired
private ConfigBean configBean;

@RequestMapping(“/testConfigBean”)
public String testConfigBean() {
return configBean.getGreeting() + ” >>>>” + configBean.getName() + ” >>>>” + configBean.getUuid() + ” >>>>” + configBean.getMax();
}
}
启动spring boot 在浏览器输入 http://localhost:8082/testConfigBean 浏览器显示
hi,i’m yida >>>>yida >>>>4845e8a3-8b75-43a2-9029-b916674f0b94 >>>>9

三、自定义配置文件

上面介绍的是我们都把配置文件写到application.yml中。有时我们不愿意把配置都写到application配置文件中,这时需要我们自定义配置文件,比如test.properties:
org.pangu.name=yida
org.pangu.age=18

将属性值赋给java bean
@Component
@ConfigurationProperties(prefix = “org.pangu”)
@PropertySource(value = “classpath:test.properties”)
public class User {
private String name;
private int age;
}
通过注解指定配置文件@PropertySource(value = “classpath:test.properties”)
写一个应用类测试一下
@RestController
public class HelloController {

@Autowired
private User user;

@RequestMapping(“/testUser”)
public String testUser() {
return user.getName() + “>>>” + user.getAge();
}
}
在浏览器输入 http://localhost:8082/testUser 浏览器显示
yida>>>18

四、多个环境配置文件

在现实的开发环境中,我们需要不同的配置环境;格式为application-{profile}.properties,其中{profile}对应你的环境标识,比如:
application-test.properties:测试环境
application-dev.properties:开发环境
application-prod.properties:生产环境
如何使配置文件生效,只需要我们在application.yml中加:
spring:
profiles:
active: prod
并且在application-prod.properties 中添加配置
server.port=8082
则端口就由原来默认的8080端口变为8082
启动spring boot 输入http://localhost:8080 和http://localhost:8082进行验证

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,956
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,480
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,327
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,110
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,741
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,776