spring Boot yml/yaml 和properties配置文件
程序员文章站
2022-04-30 11:12:10
...
yml/yaml参考:YAML 入门教程 | 菜鸟教程 (runoob.com)
#自定义简单类型数据,记得【值前面要有一个空格】
username: zhangsan
#pojo类型数据
#${username}参数引用
user:
id: 1
username: ${username}
password: 123456
#数组类型数据
ips:
- 192.168.0.2
- 192.168.0.3
#集合类型的类型数据
books:
- bookname: java
year: 1988
- bookname: php
year: 2001
#map类型
userinfo: {"name":"张三","age":22}
properties
server.port=80
#自定义配置
age=23
#配置pojo类型数据
user.id=1
user.username=zhangsan
user.password=123456
#数组类型
ips.configif[0]=192.168.0.1
ips.configif[1]=192.168.0.2
获取这些值
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GetValueController {
/*
* @Value注解只能获取配置文件中8种基本数据类型以及String类型数据
* */
@Value("${username}")
private String username;
/*
* 获取pojo类型数据中的password
* */
@Value("${user.password}")
private String user_password;
/*
* 获取数组的元素的值
* */
@Value("${ips[0]}")
private String ip;
/*
* 获取集合类型
* */
@Value("${books[0].bookname}")
private String books_0_bookname;
/*
* map
* */
@Value("${userinfo.name}")
private String name;
}
pojo还有一种方式可以获取,上面的@Value注解是获取单一的属性值
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.io.Serializable;
/*
* @ConfigurationProperties
* 该注解作用是讲yml/properties文件中的值修饰到类的属性上
* prefix = "user"前缀
* 类的属性名和key要一直
* */
@Component
@ConfigurationProperties(prefix = "user")
public class User implements Serializable {
private Integer id;
private String username;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
@Autowired
private User user;
或者通过方式三,以下这种方式获取
@Autowired
private Environment environment;
@RequestMapping("/user")
private String user(){
System.out.println(environment.getProperty("user.id"));
return "1";
}
下一篇: C#基础入门-简单了解注释
推荐阅读
-
Spring Boot的properties配置文件读取
-
Spring Boot中配置文件application.properties使用
-
Spring Boot中配置文件application.properties使用
-
spring-boot读取props和yml配置文件的方法
-
IDEA开发spring boot应用时 application.yml 或 application.properties 自定义属性提示
-
荐 Spring-boot-study02-spring.xml配置文件注入组件和@Bean注解注入组件差别
-
spring boot配置文件application.properties配置JPA以及数据源
-
SpringBoot基础--yaml配置文件语法和properties配置文件
-
Spring Boot使用application.yml配置文件
-
spring boot-2.1.16整合swagger-2.9.2 含yml配置文件的代码详解