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
原文地址:https://www.cnblogs.com/vicF/p/10601417.html