Springboot添加非application.properties外的配置文件读取

         在开发SpringBoot的项目过程中,我们有时候为了区分和application.properties配置文件提供的默认配置,我们需要提供自己定义的配置文件如applicationDynamic.properties。在这里我介绍下如何读取自定义的配置文件,SpringBoot版本使用的是1.5.6.RELEASE。

  1.定义自定义的配置文件applicationDynamic.properties,其路径也放在config目录下:

#用于url动态加载位置
file.uPath=file:f:\\testDynamicBean-1.0-SNAPSHOT.jar
#用于通过JarFile的方式获取加载位置
file.fPath=f:\\testDynamicBean-1.0-SNAPSHOT.jar
#用于加载的class类
file.className=com.dynamic.DynamicBean3

     2.定义java类用于读取配置文件

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

/**
 * @version 1.0 2017/8/15
 * @description 配置指定属性文件
 */
@Configuration
@ConfigurationProperties
@PropertySource("classpath:config/applicationDynamic.properties")
public class DynamicSetting {
    @Value("${file.fPath}")
    private String fPath;
    @Value("${file.className}")
    private String className;
    @Value("${file.uPath}")
    private String uPath;

    public String getfPath() {
        return fPath;
    }

    public void setfPath(String fPath) {
        this.fPath = fPath;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getuPath() {
        return uPath;
    }

    public void setuPath(String uPath) {
        this.uPath = uPath;
    }
}

     3.定义App.java启动类:

     

import com.springRedis.config.DynamicSetting;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;

/**
 * @version 1.0 2017/7/31
 * @description
 */
@SpringBootApplication
@EnableConfigurationProperties({DynamicSetting.class})
public class App {

    public static void main(String [] args){
        SpringApplication.run(App.class);
    }

}

    通过以上步骤我们就可以在其他类中通过atuowired注入的方式调用DynamicSetting.java类来使用其中的属性值了。

猜你喜欢

转载自357029540.iteye.com/blog/2390305