Skip to content

Instantly share code, notes, and snippets.

@nojima
Last active June 20, 2018 19:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nojima/7f620f192a940e966b94adbef36c0403 to your computer and use it in GitHub Desktop.
Save nojima/7f620f192a940e966b94adbef36c0403 to your computer and use it in GitHub Desktop.

With EnableAutoConfigration

2.676 sec to boot.

2018-06-21 04:01:39.125  INFO 15515 --- [           main] com.example.demo.DemoApplicationKt       : Started DemoApplicationKt in 2.676 seconds (JVM running for 2.984)

Without EnableAutoConfiguration

1.548 sec to boot.

2018-06-21 03:59:24.371  INFO 15117 --- [           main] com.example.demo.DemoApplicationKt       : Started DemoApplicationKt in 1.548 seconds (JVM running for 1.83)
package com.example.demo
import org.springframework.boot.CommandLineRunner
import org.springframework.boot.SpringBootConfiguration
import org.springframework.boot.autoconfigure.AutoConfigurationPackages
import org.springframework.boot.autoconfigure.ImportAutoConfiguration
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration
import org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration
import org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration
import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration
import org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration
import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration
import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration
import org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration
import org.springframework.boot.autoconfigure.web.servlet.*
import org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration
import org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration
import org.springframework.boot.runApplication
import org.springframework.context.ApplicationContext
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.ComponentScan
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RestController
@RestController
class ExampleController {
@GetMapping("/")
fun hello(): String = "Hello, world!!"
}
@SpringBootConfiguration
@ImportAutoConfiguration(
//AutoConfigurationPackages::class,
//ConfigurationPropertiesAutoConfiguration::class,
//PropertyPlaceholderAutoConfiguration::class,
//HttpMessageConvertersAutoConfiguration::class,
//CodecsAutoConfiguration::class,
//ProjectInfoAutoConfiguration::class,
//JacksonAutoConfiguration::class,
//JmxAutoConfiguration::class,
//ReactiveSecurityAutoConfiguration::class,
//ValidationAutoConfiguration::class,
//RestTemplateAutoConfiguration::class,
//EmbeddedWebServerFactoryCustomizerAutoConfiguration::class,
DispatcherServletAutoConfiguration::class,
//HttpEncodingAutoConfiguration::class,
//MultipartAutoConfiguration::class,
ServletWebServerFactoryAutoConfiguration::class
//WebMvcAutoConfiguration::class,
//ErrorMvcAutoConfiguration::class,
//WebSocketServletAutoConfiguration::class
)
@ComponentScan
//@SpringBootApplication
private class DemoApplication {
/*
@Bean
fun commandLineRunner(ctx: ApplicationContext): CommandLineRunner {
return CommandLineRunner {
println("Let's inspect the beans provided by Spring Boot:")
val beanNames = ctx.beanDefinitionNames
beanNames.sort()
for (beanName in beanNames) {
println(beanName)
}
}
}
*/
}
fun main(args: Array<String>) {
runApplication<DemoApplication>(*args)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment