SpringBootの3つの機能

SpringBootの3つの機能

  • コンポーネントの自動アセンブリ:Web MVC、JDBCなど。

  1. 自動アセンブリをアクティブ化:@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. 構成:/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

対応する実装のエージェント-さまざまな構成

  1. 実装: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 {
...
}

実装

  • 埋め込みWebコンテナ:Tomcat、Jetty

  • 生産準備機能:インジケーター、ヘルスチェック、外部構成など。

  1. メトリック:/アクチュエータ/メトリック
  2. ヘルスチェック:/アクチュエータ/ヘルス
  3. 外部構成:/アクチュエータ/ configprops

おすすめ

転載: blog.csdn.net/weixin_39443483/article/details/115238409