spring Boot yml/yaml 和properties配置文件

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";
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值