Three features of Spring Boot

Three features of Spring Boot

  • Automatic assembly of components: Web MVC, JDBC, etc.

  1. Activate automatic assembly : @EnableAutoConfiguration
@SpringBootApplication

在SpringBoot中的Application.java中的SpringBootApplication注解包括了如下注解:
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)

 

  1. Configuration : /META-INF/spring.factories
# AutoConfigureDataRedis auto-configuration imports
...

# Auto Configure
...

// MVC的自动配置
# AutoConfigureWebMvc auto-configuration imports
...

# AutoConfigureJdbc auto-configuration imports
org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureJdbc=\
org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\
org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration

Agent the corresponding implementation-various configurations

  1. Implementation : XXX(JDBC/MVC)AutoConfiguration
@Configuration(proxyBeanMethods = false)
@ConditionalOnWebApplication(type = Type.SERVLET)
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class, WebMvcConfigurer.class })
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10)
@AutoConfigureAfter({ DispatcherServletAutoConfiguration.class, TaskExecutionAutoConfiguration.class,
		ValidationAutoConfiguration.class })
public class WebMvcAutoConfiguration {
...
}

Implementation

  • Embedded Web container: Tomcat, Jetty

  • Production preparation features: indicators, health checks, external configuration, etc.

  1. Metrics: /actuator/metrics
  2. Health check: /actuator/health
  3. Externalized configuration : / actuator/configprops

Guess you like

Origin blog.csdn.net/weixin_39443483/article/details/115238409