GH-1069 Ensure 'spring.main.banner-mode' is honored by ServerlessWebApplication

Resolves #1069
This commit is contained in:
Oleg Zhurakousky
2023-09-25 11:26:33 +02:00
parent 42336c852c
commit 1b0a5e38af
2 changed files with 9 additions and 0 deletions

View File

@@ -155,6 +155,13 @@ class ServerlessWebApplication extends SpringApplication {
private Banner printBanner(ConfigurableEnvironment environment) {
ResourceLoader resourceLoader = (this.getResourceLoader() != null) ? this.getResourceLoader()
: new DefaultResourceLoader(null);
Banner.Mode bannerMode = environment.containsProperty("spring.main.banner-mode")
? Banner.Mode.valueOf(environment.getProperty("spring.main.banner-mode").trim().toUpperCase())
: Banner.Mode.CONSOLE;
if (bannerMode == Banner.Mode.OFF) {
return null;
}
SpringApplicationBannerPrinter bannerPrinter = new SpringApplicationBannerPrinter(resourceLoader, new SpringAwsBanner());
return bannerPrinter.print(environment, this.getMainApplicationClass(), System.out);
}

View File

@@ -46,6 +46,7 @@ public class RequestResponseTests {
@BeforeEach
public void before() {
System.setProperty("spring.main.banner-mode", "off");
this.mvc = ProxyMvc.INSTANCE(ProxyErrorController.class, PetStoreSpringAppConfig.class);
}
@@ -136,6 +137,7 @@ public class RequestResponseTests {
@Test
public void validatePostAsyncWithBody() throws Exception {
// System.setProperty("spring.main.banner-mode", "off");
ProxyHttpServletRequest request = new ProxyHttpServletRequest(null, "POST", "/petsAsync/");
String jsonPet = "{\n"
+ " \"id\":\"1234\",\n"