SpringBoot加载多properties配置文件

277 阅读1分钟

默认配置

SpringBoot默认配置文件是application.properties,该文件位置在resources目录下

1.png

配置文件位置application.properties位置

多环境配置

我们经常有个场景,测试环境和线上环境配置不一致,比如数据库用户密码等。这就需要扩展配置文件,如上图的
application-dev.properties和application-prod.properties文件。

那怎么选择加载不同的配置文件呢,通过启动参数控制,如下图

2.png

dev说明要加载application-dev.properties

多环境配置验证

通过配置不同的端口和环境名称来验证

spring.application.name 启动的环境
server.port 启动端口。

application-dev.properties文件配置如下

spring.application.name=dev
server.port = 9090

application-prod.properties文件配置如下

spring.application.name=prod
server.port = 9091

修改启动文件

@value用来引入配置文件的值,然后启动时输出这个变量
@SpringBootApplication(scanBasePackages = {"net.img"})
public class ImgServer implements ApplicationRunner {
    @Value("${spring.application.name}")
    private String appName;
    public static void main(String[] args) {
        SpringApplication application = new SpringApplication(ImgServer.class);
        application.setBannerMode(Banner.Mode.OFF);
        application.run(args);
    }

    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println(" 已启动服务:"+appName);
    }
}

启动

dev 启动后控制台显示

3.png

dev启动控制台

端口才是是9090

http://localhost:9090/hello

prod启动控制台

4.png

此时访问端口也改变了

http://localhost:9091/hello