ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 69.2. 外部化SpringApplication配置 SpringApplication已经被属性化(主要是setters),所以你可以在创建应用时使用它的Java API修改其行为,或者使用以`spring.main.*`为key的属性来外部化这些配置。比如,在`application.properties`中可能会有以下内容: ```java spring.main.web-environment=false spring.main.banner-mode=off ``` 这样,Spring Boot在启动时将不会显示banner,并且该应用也不是一个web应用。 **注** 以上示例也展示在属性名中使用下划线(`_`)和中划线(`-`)的灵活绑定。 外部配置定义的属性会覆盖创建`ApplicationContext`时通过Java API指定的值,让我们看如下应用: ```java new SpringApplicationBuilder() .bannerMode(Banner.Mode.OFF) .sources(demo.MyApp.class) .run(args); ``` 并使用以下配置: ```text spring.main.sources=com.acme.Config,com.acme.ExtraConfig spring.main.banner-mode=console ``` 实际的应用将显示banner(被配置覆盖),并为`ApplicationContext`指定3个sources,依次为:`demo.MyApp`,`com.acme.Config`,`com.acme.ExtraConfig`。