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