javacofig幾個常用註解

1、問題描述

javacofig使用註解來描述Bean配置的組件,記錄幾個常用的註解,以便後續回顧。

2、問題說明

(1)@Configuration

在類上打上這一標籤,表示這個類是配置類

(2)@Bean

bean的定義,相當於xml的

<bean id="laowangService" class="org.abc.map.LaowangService" />

(3)@Import註解須知

  • @Import只能用在類上 ,@Import通過快速導入的方式實現把實例加入spring的IOC容器中

  • 加入IOC容器的方式有很多種,@Import註解可以用於導入第三方包 ,當然@Bean註解也可以,但是@Import註解快速導入的方式更加便捷

    啓動類中加上@Enable**的,是用@import註解,加載到ioc容器中的。

(4)@ImportResource

相當於xml:

<import resource="applicationContext-xxx.xml">

(5)@PropertySource

spring 3.1開始引入,它是基於java config的註解,用於讀取properties文件

(6)@AliasFor

表示別名,它可以添加到自定義註解的兩個屬性上,表示這兩個屬性互爲別名。也就是說,這兩個屬性其實是同一個含義。

public @interface Configuration {
   @AliasFor(annotation = Component.class)
   String value() default "";

@Controller等註解本質上也是@Component

@SpringBootApplication註解,其實是三個註解的組合,分別是:

(7)@SpringBootConfiguration

@SpringBootConfiguration等同於@Configuration,帶有spring的標誌,是屬於spring的一個配置類

(8)@EnableAutoConfiguration

@EnableAutoConfiguration 也是藉助 @Import 的幫助,將所有符合自動配置條件的 bean 定義加載到 IoC 容器。

(9) ComponentScan()

相當於xml的<context:componentscan basepakage=>,默認情況下就不需要配置@ComponentScan這個註解了。 因爲Application類,在啓動的時候,默認是加載和Application類所在同一個目錄下的所有類,包括所有子目錄下的類。


更多信息請關注公衆號:「軟件老王」,關注不迷路,軟件老王和他的IT朋友們,分享一些他們的技術見解和生活故事。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章