• springboot 将配置文件中的配置读取为properties配置类


    1、确保依赖

      

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

      

    2、配置类编写,注意注解

      

    package com.detech.qydxxpt;
    
    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    /**
     * @author YunguiZheng
     */
    @ConfigurationProperties(prefix = SmsProperties.PREFIX)
    @Data
    public class SmsProperties {
    
        public static final String PREFIX ="sms" ;
        /**
         * 服务地址
         */
        public  String url ;
        /**
         * 用户名
         */
        public  String username;
        /**
         * 密码
         */
        public  String password ;
        /**
         * 固定字符串
         */
        public  String key ;
        /**
         * 接入KEY
         */
    
        public  String jrKey ;
        /**
         * 业务代码
         */
    
        public  String ywdm ;
    
    }
    

     3、重要:在启动类上打上注解

    @EnableConfigurationProperties(SmsProperties.class)   
    package com.dflzm.user;
    
    import com.detech.qydxxpt.SmsProperties;
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.context.properties.EnableConfigurationProperties;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    import org.springframework.cloud.openfeign.EnableFeignClients;
    
    
    @SpringBootApplication
    @EnableConfigurationProperties(SmsProperties.class)
    public class ApiUserCenterApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ApiUserCenterApplication.class, args);
        }
    
    }
    

     4、配置文件yml格式如下

      

    sms:
      url: http://xxx.com
      username: xxx
      password: xxx
      key: 6798FEB3-71E5-48B6-A49B-1E1F33BAA14B
      jrKey: "0000088"
      ywdm: xxx
    

     5、测试是否配置成功

      

    package com.dflzm.user;
    
    import com.detech.qydxxpt.SmsProperties;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import javax.annotation.Resource;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class ApiUserCenterApplicationTests {
    
        @Resource
        SmsProperties smsProperties;
    
        @Test
        public void  contextLoads() {
            System.err.println(smsProperties.toString());
        }
    
    }
    

      输出:  

    [2020-06-16 10:26:44] [INFO ][com.alibaba.nacos.client.naming:61]-- [LISTENER] adding DEFAULT_GROUP@@dflzm-backend-service with to listener map
    SmsProperties(url=http:xxx, username=xxx, password=xxx, key=6798FEB3-71E5-48B6-A49B-1E1F33BAA14B, jrKey=xxx, ywdm=xxx)
    

      

     参考:

      https://www.cnblogs.com/Guhongying/p/10848251.html

     

     
  • 相关阅读:
    “您的外卖订单正在由机器人配送中”:探访送货机器人进楼宇
    外媒:比特币大陆将于9月IPO 规模或高达180亿美元
    网站被挂马的处理办法以及预防措施
    【学习】linux环境下nginx文件彻底删除
    【学习】SpringBoot之全局异常处理器
    【学习】SpringBoot之自定义拦截器
    _parameter:解决There is no getter for property named in class java.lang.String
    Window安装Redis并设置为开机启动
    SpringBoot 使用定时任务动态执行任务
    网易云信(创建账号,添加好友,获取好友关系,发送系统消息《推送》,删除好友,修改用户信息)
  • 原文地址:https://www.cnblogs.com/irobotzz/p/13139618.html
Copyright © 2020-2023  润新知