• 每日笔记---使用@ConfigurationProperties读取yml配置


    1.添加pom依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
    

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

    Myyml:
      username: cs
      password: 123456
      url: jdbc:mysql://localhost:3306/test
      driver: com.mysql.jdbc.Driver
    

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

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

    //自动注入    
    @Autowired
    private User user;
    //方法体内获取属性值 String url=user.getUrl();
    System.out.print(url);

     5.启动springboot入口类,调用对应controller对应的方法,控制台打印获取的值。

  • 相关阅读:
    设计模式目录
    垃圾收集器
    598. Range Addition II
    Java中的四种引用
    垃圾回收算法
    645. Set Mismatch
    java 8中撤销永久代,引入元空间
    L2-013. 红色警报 (并查集)
    POJ 1127 Jack Straws (线段相交)
    L2-014. 列车调度 (DP)
  • 原文地址:https://www.cnblogs.com/mycs-home/p/8352140.html
Copyright © 2020-2023  润新知