java中的接口是类吗
832
2022-08-28
SpringBoot实现yml配置文件为变量赋值
目录yml配置文件为变量赋值1. 创建person类和Car类2. 为person类创建yml配置文件3.创建启动类在yml文件中配置变量例如:二维码的内容
yml配置文件为变量赋值
1. 创建person类和Car类
在person类上加注释 @ConfigurationProperties(prefix = "person"),表明这个类的成员变量的值从配置类注入。
注意这里的person类的成员变量需要有get/set方法。
import org.springframework.boot.context.properties.ConfigurationProperties;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ConfigurationProperties(prefix = "person")
public class Person {
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public double getSalary() {
return salary;
onpmd }
public void setSalary(double salary) {
this.salary = salary;
}
public boolean isMarriage() {
return isMarriage;
}
public void setMarriage(boolean marriage) {
isMarriage = marriage;
}
public Car getCar() {
return car;
}
public void setCar(Car car) {
this.car = car;
}
public List
return hobbit;
}
public void setHobbit(List
this.hobbit = hobbit;
}
public Map
return maps;
}
public void setMaps(Map
this.maps = maps;
}
public Date getBirthDate() {
return birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
private String name;
private Integer age;
private double salary;
private boolean isMarriage;
private Car car;
private List
private Map
private Date birthDate;
}
public class Car {
private String carName;
private String carBrand;
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
public String getCarBrand() {
return carBrand;
}
public void setCarBrand(String carBrand) {
this.carBrand = carBrand;
}
}
2. 为person类创建yml配置文件
person:
name: zhangsan
age: 18
salary: 8888.88
car:
carName: 奥迪A6L
carBrand: 奥迪
hobbit:
- 篮球
- rap
- 唱歌
- 保健
maps:
k1: v1
k2: v2
birthDate: 1991/08/21
marriage: true
3.创建启动类
加上注释@EnableConfigurationProperties(Person.class),启动的时候提醒Person这个class的成员变量是可以从配置文件注入的。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationpmdonProperties;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@EnableConfigurationProperties(Person.class)
@RestController
public class Tulingspc01SpringbootPropertiesMappingApplication {
@Autowired
private Person person;
public static void main(String[] args) {
SpringApplication.run(Tulingspc01SpringbootPropertiesMappingApplication.class, args);
}
@RequestMapping("/getPersonInfo")
public Person getPersonInfo() {
return pehttp://rson;
}
}
测试结果:
在yml文件中配置变量
在开发中很多内容不能写死在代码中
就需要动态的配置
例如:二维码的内容
yml文件里增加变量配置
QrCode:
content: http://192.168.1.1:8081
在代码里获取信息的时候
@Value("${QrCode.content}")
private String content;
这样就可以获取yml文件里配置的内容了
降低了代码的耦合
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~