Mercurial > hg > SpringPlayground
view spring-boot-playground/src/main/java/de/comline/spring/application/Application.java @ 3:b4221c1389af
Nur die REST Endpunkte, die in der config explizit angezogen werden, sind nachher auch registriert
author | Dirk Olmes <dirk.olmes@codedo.de> |
---|---|
date | Thu, 13 Aug 2020 14:31:40 +0200 |
parents | 856e646efa17 |
children |
line wrap: on
line source
package de.comline.spring.application; import java.util.Arrays; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration; import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration; import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import de.comline.spring.application.Application.CustomConfig; import de.comline.spring.controller.HelloController; //@SpringBootApplication //@ComponentScan(basePackages = "de.comline.spring.controller,de.comline.spring.service") //@EnableAutoConfiguration @Import(CustomConfig.class) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public CommandLineRunner commandLineRunner(ApplicationContext ctx) { return args -> { System.out.println("Let's inspect the beans provided by Spring Boot:"); String[] beanNames = ctx.getBeanDefinitionNames(); Arrays.sort(beanNames); for (String beanName : beanNames) { System.out.println(beanName); } }; } @Configuration // scheint hier nicht zu funktionieren: // @ComponentScan(basePackages = "de.comline.spring.controller,de.comline.spring.service") // ServletWebServerFactoryAutoConfiguration for bringing up the embedded tomcat // DispatcherServletAutoConfiguration for detecting the REST controllers // WebMvcAutoConfiguration enabling Jackson response serialization // @formatter:off @Import({ ServletWebServerFactoryAutoConfiguration.class, DispatcherServletAutoConfiguration.class, JacksonAutoConfiguration.class, HttpMessageConvertersAutoConfiguration.class, WebMvcAutoConfiguration.class, HelloController.class // Note how we do not list the CustomLogicController here, hence the controller is not bound }) // @formatter:on static class CustomConfig { // no custom methods } }