Leo's blog Leo's blog
首页
  • Java基础

    • JavaSE
    • JVM
    • Spring
  • Java进阶

    • SSM
    • SpringBoot
    • SpringCloud
    • SpringCloud Alibaba
  • 中间件

    • Nginx
    • Redis
    • FastDFS
    • RocketMQ
  • 框架

    • Netty
    • Shiro
    • Activiti
  • 数据库

    • MySQL
    • Oracle
  • 微服务

    • Dubbo
    • Nacos
  • 大叔据

    • ELK
    • Hadoop
  • 工具

    • Jenkins
    • Docker
  • 算法

    • 数据结构与算法
    • 设计模式
  • 计算机科学

    • 计算机网络
    • 操作系统原理
    • Linux
    • 网络安全
  • IDLE

    • IntelliJ IDEA
    • Visual Studio Code
  • 野生技能

    • Git
  • 娱乐

    • 读书
    • 电影
    • 音乐
    • 节目
  • 投资

    • 宏观
    • 周期
    • 加密货币
    • 量化交易
  • 思考

    • 观点
    • 随笔
  • 网站

    • 日常访问
    • 学习资源
  • 博客

    • 推荐博客
    • 友情链接
关于
  • 分类
  • 标签
  • 归档
GitHub

Leo Lee

Use Java with love.
首页
  • Java基础

    • JavaSE
    • JVM
    • Spring
  • Java进阶

    • SSM
    • SpringBoot
    • SpringCloud
    • SpringCloud Alibaba
  • 中间件

    • Nginx
    • Redis
    • FastDFS
    • RocketMQ
  • 框架

    • Netty
    • Shiro
    • Activiti
  • 数据库

    • MySQL
    • Oracle
  • 微服务

    • Dubbo
    • Nacos
  • 大叔据

    • ELK
    • Hadoop
  • 工具

    • Jenkins
    • Docker
  • 算法

    • 数据结构与算法
    • 设计模式
  • 计算机科学

    • 计算机网络
    • 操作系统原理
    • Linux
    • 网络安全
  • IDLE

    • IntelliJ IDEA
    • Visual Studio Code
  • 野生技能

    • Git
  • 娱乐

    • 读书
    • 电影
    • 音乐
    • 节目
  • 投资

    • 宏观
    • 周期
    • 加密货币
    • 量化交易
  • 思考

    • 观点
    • 随笔
  • 网站

    • 日常访问
    • 学习资源
  • 博客

    • 推荐博客
    • 友情链接
关于
  • 分类
  • 标签
  • 归档
GitHub
  • JavaSE

  • SpringBoot

    • config - 通过@ConfigurationProperties读取yml配置
      • 1、添加pom依赖
      • 2、编辑application.yml文件
      • 3、编写配置实体类
      • 4、自动注入
    • Lombok - 简化POJO
    • Redis - 远程字典服务,使用最广泛的缓存中间件
  • JavaEE
  • SpringBoot
leee
2020-06-11

config - 通过@ConfigurationProperties读取yml配置

# config - 通过@ConfigurationProperties读取yml配置

# 一、简单操作

# 1、添加pom依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
1
2
3
4
5

# 2、编辑application.yml文件

application.yml文件中添加需要配置的属性,注意缩进

Myyml:
  username: cs
  password: 123456
  url: jdbc:mysql://localhost:3306/test
  driver: com.mysql.jdbc.Driver
1
2
3
4
5

# 3、编写配置实体类

新建一个类,@Component注解表明是组件,可被自动发现,@ConfigurationProperties注解之前是location属性表明配置文件位置,prefix表示读取的配置信息的前缀,但新版本中废除了location属性(网上说是1.5.2之后),故只写前缀,默认读取application.yml中数据。

重点:一定要在这个类中写getter和setter,否则配置中的属性值无法自动注入

package com.cs.background.util;
 
 
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
 
 
@Component
@ConfigurationProperties(prefix = "Myyml")
public class User{
    //数据库连接相关
    private String url;
    private String driver;
    private String username;
    private String password;
 
    public String getUrl() {
        return url;
    }
 
    public void setUrl(String url) {
        this.url = url;
    }
 
    public String getDriver() {
        return driver;
    }
 
    public void setDriver(String driver) {
        this.driver = driver;
    }
 
    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;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

# 4、自动注入

Controller类中执行自动注入,获取属性

//自动注入   
@Autowired
private User user;<br>
//方法体内获取属性值
String url=user.getUrl();<br>System.out.print(url);
1
2
3
4
5

参考资料

  1. 每日笔记---使用@ConfigurationProperties读取yml配置 ,博客园
  2. @ConfigurationProperties 与 @EnableConfigurationProperties ,简书
  3. Spring Boot 2.0 @ConfigurationProperties 使用 ,segmentfault
编辑
#SpringBoot #Java #Conifg #Yaml
上次更新: 2020/06/11, 15:06:00
Java static 关键字
Lombok - 简化POJO

← Java static 关键字 Lombok - 简化POJO →

最近更新
01
Activiti使用手册(4)- Bpmn2规范
06-11
02
linux手动RPM安装gcc,g++
06-11
03
CentOS 安装配置 Nginx
06-11
更多文章>
Theme by Vdoing | Copyright © 2020-2020 Leo Lee | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式