springboot 加载jar内外自定义的配置文件
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;
@Configuration
// 后面的文件存在的话会覆盖前面的, 已验证
@PropertySource(value={"classpath:config/config.properties","file:config/config.properties"}, ignoreResourceNotFound=true)
public class TestConfig {
@Value("${my.test}")
public String mytest;
}
注意:PropertySource多个配置文件时,后面的文件存在的话会覆盖前面的
classpath:config/config.properties 是jar包内 resource目录下的config/config.properties
file:config/config.properties 是jar包外 启动程序的目录下的config/config.properties (注意:如果是用脚本启动运行,则config路径在脚本所在目录)
其他地方要获取配置文件中的变量,例如
@Autowired
TestConfig testConfig;
//...
testConfig.mytest
//...