war包调用外部配置文件.yml的操作步骤

  • Post author:
  • Post category:其他


1.自定义类实现EnvironmentPostProcessor接口

类中的代码为:

public class MyEnvironmentPostProcessor implements EnvironmentPostProcessor {
    @Override
    public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
        //tomcat路径
        String property = System.getProperty("catalina.home");
        String path = "E:\\application-devs.yml";
        //Springboot读取yml配置
        YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
        yaml.setResources(new FileSystemResource(path));
        MutablePropertySources propertySources = environment.getPropertySources();
        propertySources.addFirst(new PropertiesPropertySource("Config", yaml.getObject()));
    }
}

其中path是指存放的配置文件的路径。可以根据自己的需求进行改变。

2.在resouces目录下建一个META-INF文件目录,在目录中建一个spring.factories文件,在文件中配置自己实现的动态读取文件类

代码为:

org.springframework.boot.env.EnvironmentPostProcessor=com.sqltest.dao.MyEnvironmentPostProcessor

等号后面的部分是指上面自定义的类的位置。

3.测试效果:

正常启动,成功加载到了.yml配置文件。



版权声明:本文为moderate_people原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。