溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring boot 之注解

發布時間:2020-07-30 20:31:27 來源:網絡 閱讀:3901 作者:乾坤刀 欄目:軟件技術

@EnableAutoConfiguration
有這個注解,spring boot 就會根據classpat中的jar依賴,來猜測你將要開發一個什么樣的spring應用。比如:spring-boot-starter-web這個依賴,則springboot就會自動嵌入tomcat和springMVC的相關依賴,并在啟動的時候,啟動為一個web應用。并會查找相應的配置參數,如果沒有,則使用默認值。如:server.port=8080;
同時,在spring boot中會有一些默認的配置。如:DataSourceAutoConfiguration就會自動配置dataSource。而@EnableAutoConfiguration這個注解就會默認增加這些默認配置。同時,也可以排出。
如:@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)

@SpringBootApplication
它是@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan的整合。用于application bootstrap.

@Component
它是一個類級注解。當應用是通過注解來配置或xml配置掃描的時候,這個類就會被自動檢測。根據@Component衍生出來的一些特殊類型的注解,如:Repository、Service、Controller,都是Component。

@Import
導入@Configuration的配置class.相當于xml中的import標簽。

@Configuration
啟動配置參數,相當于xml中的beans。

@ConfigurationProperties
ConfigurationProperties指定application.yml中的配置參數。并加載到對應的class中。
如:@ConfigurationProperties(prefix = "spring.datasource");

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

@Conditional
與@ConditionalOnClass作用一樣,只不過是自定義實現。

@ConditionalOnProperty
當application.yaml中有對應的參數,則此類生效;
如:@ConditionalOnProperty(prefix = "spring.datasource", name = "type")。

@ConditionalOnClass
當classpath中有ConditionalOnClass注解中指定的類,則此類型生效。
如:

@Configuration
@ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class })
@EnableConfigurationProperties(DataSourceProperties.class)
@Import({ DataSourcePoolMetadataProvidersConfiguration.class,
        DataSourceInitializationConfiguration.class })
public class DataSourceAutoConfiguration {}

@ConditionalOnMissingBean
與ConditionalOnClass相反,當classpath中沒有注解指定的類。則此配置類生效。
如:

    @Configuration
    @Conditional(PooledDataSourceCondition.class)
    @ConditionalOnMissingBean({ DataSource.class, XADataSource.class })
    @Import({ DataSourceConfiguration.Hikari.class, DataSourceConfiguration.Tomcat.class,
            DataSourceConfiguration.Dbcp2.class, DataSourceConfiguration.Generic.class,
            DataSourceJmxConfiguration.class })
    protected static class PooledDataSourceConfiguration {}

@AutoConfigureAfter
指的是指定的configuration配置之后,再配置當前配置類。
如:

@Configuration
@ConditionalOnClass(PlatformTransactionManager.class)
@AutoConfigureAfter({ JtaAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
        DataSourceTransactionManagerAutoConfiguration.class,
        Neo4jDataAutoConfiguration.class })
@EnableConfigurationProperties(TransactionProperties.class)
public class TransactionAutoConfiguration {}

@AutoConfigureOrder
自動配置的順序。

@Configuration
@ConditionalOnClass({ JdbcTemplate.class, PlatformTransactionManager.class })
@AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE)
@EnableConfigurationProperties(DataSourceProperties.class)
public class DataSourceTransactionManagerAutoConfiguration {}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女