SpringBoot实现yml配置文件为变量赋值

网友投稿 839 2022-10-30

SpringBoot实现yml配置文件为变量赋值

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 getHobbit() {

return hobbit;

}

public void setHobbit(List hobbit) {

this.hobbit = hobbit;

}

public Map getMaps() {

return maps;

}

public void setMaps(Map maps) {

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 hobbit;

private Map maps;

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小时内删除侵权内容。

上一篇:从流行的css框架中统计出重要的css属性
下一篇:SAP SEGW 事物码里的 Function Import
相关文章

 发表评论

暂时没有评论,来抢沙发吧~