zoukankan      html  css  js  c++  java
  • springboot使用工具类无需注入获取yml配置项

    1.新建 BeanConfiguration 类,用于项目启动构造我们的工具类

    package webapp.config;
    
    import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.core.io.Resource;
    import webapp.util.YamlConfigurerUtil;
    import java.util.Properties;
    
    @Configuration
    public class BeanConfiguration {
        @Bean
        public YamlConfigurerUtil ymlConfigurerUtil() {
            //1:加载配置文件
            Resource app = new ClassPathResource("application.yml");
            YamlPropertiesFactoryBean yamlPropertiesFactoryBean = new YamlPropertiesFactoryBean();
            // 2:将加载的配置文件交给 YamlPropertiesFactoryBean
            yamlPropertiesFactoryBean.setResources(app);
            // 3:将yml转换成 key:val
            Properties properties = yamlPropertiesFactoryBean.getObject();
            // 4: 将Properties 通过构造方法交给我们写的工具类
            YamlConfigurerUtil ymlConfigurerUtil = new YamlConfigurerUtil(properties);
            return ymlConfigurerUtil;
        }
    
    }

    2.工具类实现

    package webapp.util;
    
    import java.util.Properties;
    
    public class YamlConfigurerUtil {
    
        private static Properties ymlProperties = new Properties();
    
        public YamlConfigurerUtil(Properties properties){
            ymlProperties = properties;
        }
    
        public static String getStrYmlVal(String key){
            return ymlProperties.getProperty(key);
        }
    
        public static Integer getIntegerYmlVal(String key){
            return Integer.valueOf(ymlProperties.getProperty(key));
        }
    
    }

    3.调用示例

    String password = YamlConfigurerUtil.getStrYmlVal("redis.password");
    文末小福利免费视频资源网站:www.sousuohou.com
  • 相关阅读:
    第三周作业(二):分析代码
    第三周作业(一):安装VS以及创建单元测试
    作业:随机四则运算
    分数化简算法
    对应用软件:游戏-《上古卷轴5》的点评
    软件工程始发随想
    Siamese Network介绍
    YOLO v3算法介绍
    Residual Network和Inception Network网络架构介绍
    使用迁移学习(Transfer Learning)完成图像的多标签分类(Multi-Label)任务
  • 原文地址:https://www.cnblogs.com/vicF/p/10601417.html
Copyright © 2011-2022 走看看