SpringBoot启动时设置默认配置文件属性

  SpringBoot通常在配置文件application.properties中设置属性,其实也可以在代码中写死属性,如下:

@SpringBootApplication
public class App {

    @Value("${server.host:localhost}")
    private String serverhost;

    public static void main(String[] args) {
        SpringApplication app=new SpringApplication(App.class);

        Map<String,Object> map=new HashMap<>();
        map.put("server.host","127.0.0.1");
        app.setDefaultProperties(map);

        ConfigurableApplicationContext context= app.run(args);
        System.out.println(context.getBean(App.class).serverhost);

        context.close();
    }
}

  1)上面的程序会输出:127.0.0.1

  2)如果注释掉map.put("server.host","127.0.0.1");这一句,输出:localhost

  3)如果在配置文件中设置server.host=192.168.1.100,则输出192.168.1.100

  由此可见setDefaultProperties设置属性的级别低于application.properties

posted @ 2019-11-23 19:01  雷雨客  阅读(2564)  评论(0编辑  收藏  举报