zoukankan      html  css  js  c++  java
  • SpringBoot在Configuration注解中使用@Value获取null的问题

    
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    public class MyConfigure {
        @Value( "${spring.application.name}")
        private  String name ;
    
        @Value( "${spring.datasource.driver-class-name}")
        protected String driverClassName ;
        
        public MyConfigure(){
            // 这里 name 和 driverClassName 都是null
        }
    }

    修改 MyConfigure 实现 EnvironmentAware 接口

    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.EnvironmentAware;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.env.Environment;
    
    @Configuration
    public class MyConfigure implements EnvironmentAware {
        @Value( "${spring.application.name}")
        private  String name ;
    
        @Value( "${spring.datasource.driver-class-name}")
        protected String driverClassName ;
        
        private Environment env;
    
        @Override
        public void setEnvironment(Environment environment) {
            this.env = environment; 
            this.doSomething();
        }
    
        public MyConfigure(){
            // 这里 name 和 driverClassName 都是null
        }
        
        private void doSomething(){
            // 这里 获取 name 和 driverClassName  
            this.driverClassName = this.env.getProperty("spring.datasource.driver-class-name");
        }
    }

    解决获取不到配置的问题




  • 相关阅读:
    微信支付退款部分代码
    Raspberry PI 点亮LED
    Raspberry PI 摄像头
    RaspberryPI 3B系统烧录
    MySQL基础使用
    MySQL数据库管理系统概述
    Eclipse创建JAVA项目
    Brup Suite拦截https请求
    Github 第一个仓库
    python os模块主要函数
  • 原文地址:https://www.cnblogs.com/Leechg/p/12331985.html
Copyright © 2011-2022 走看看