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