弹簧引导之注解

  

<强> @EnableAutoConfiguration
有这个注解,弹簧引导就会根据classpat中的jar依赖,来猜测你将要开发一个什么样的春天应用。比如:spring-boot-starter-web这个依赖,则springboot就会自动嵌入tomcat和springMVC的相关依赖,并在启动的时候,启动为一个web应用。并会查找相应的配置参数,如果没有,则使用默认值。如:服务器。端口=8080;
同时,在弹簧引导中会有一些默认的配置。如:DataSourceAutoConfiguration就会自动配置数据源。而@EnableAutoConfiguration这个注解就会默认增加这些默认配置。同时,也可以排出。
如:@EnableAutoConfiguration(排除=DataSourceAutoConfiguration.class)

  

<强> @SpringBootApplication
它是@SpringBootConfiguration, @EnableAutoConfiguration, @ComponentScan的整合。用于应用程序引导。

  

<强> @ Component
它是一个类级注解。当应用是通过注解来配置或xml配置扫描的时候,这个类就会被自动检测。根据@ Component衍生出来的一些特殊类型的注解,如:存储库,服务,控制器,都是组件。

  

<强> @ import
导入@ configuration的配置类。相当于xml中导入的标签。

  

<强> @ configuration
启动配置参数,相当于xml中的bean。

  

<强> @ConfigurationProperties
ConfigurationProperties指定的应用程序。yml中的配置参数。并加载到对应的类中。
如:@ConfigurationProperties(前缀=皊pring.datasource");

  

<强> @EnableConfigurationProperties
EnableConfigurationProperties指定被ConfigurationProperties注解的类,使其有效。
如:@EnableConfigurationProperties (DataSourceProperties.class)

  

<强> @Conditional
与@ConditionalOnClass作用一样,只不过是自定义实现。

  

<强> @ConditionalOnProperty
当应用程序。yaml中有对应的参数,则此类生效;
如:<代码> @ConditionalOnProperty(前缀="春天。数据源”,name="类型”)

  

<强> @ConditionalOnClass
当类路径中有ConditionalOnClass注解中指定的类,则此类型生效。
如:

  
 <代码> @ configuration
  @ConditionalOnClass({数据源。类,EmbeddedDatabaseType。类})
  @EnableConfigurationProperties (DataSourceProperties.class)
  @ import ({DataSourcePoolMetadataProvidersConfiguration.class,
  DataSourceInitializationConfiguration。类})
  公开课DataSourceAutoConfiguration{}  
  

<强> @ConditionalOnMissingBean
与ConditionalOnClass相反,当类路径中没有注解指定的类,则此配置类生效。
如:

  
 <代码> @ configuration
  @Conditional (PooledDataSourceCondition.class)
  @ConditionalOnMissingBean({数据源。类,XADataSource来。类})
  @ import ({DataSourceConfiguration.Hikari。类、DataSourceConfiguration.Tomcat.class
  DataSourceConfiguration.Dbcp2。类、DataSourceConfiguration.Generic.class
  DataSourceJmxConfiguration。类})
  保护静态类PooledDataSourceConfiguration{}  
  

<强> @AutoConfigureAfter
指的是指定的配置配置之后,再配置当前配置类。
如:

  
 <代码> @ configuration
  @ConditionalOnClass (PlatformTransactionManager.class)
  @AutoConfigureAfter ({JtaAutoConfiguration。类、HibernateJpaAutoConfiguration.class
  DataSourceTransactionManagerAutoConfiguration.class,
  Neo4jDataAutoConfiguration。类})
  @EnableConfigurationProperties (TransactionProperties.class)
  公开课TransactionAutoConfiguration{}  
  

<强> @AutoConfigureOrder
自动配置的顺序。

  
 <代码> @ configuration
  @ConditionalOnClass ({JdbcTemplate。类,PlatformTransactionManager。类})
  @AutoConfigureOrder (Ordered.LOWEST_PRECEDENCE)
  @EnableConfigurationProperties (DataSourceProperties.class)
  公开课DataSourceTransactionManagerAutoConfiguration{}  

弹簧引导之注解