天天看點

Spring 基于注解的配置

基于注解的配置

從 Spring 2.5 開始就可以使用注解來配置依賴注入。而不是采用 XML 來描述一個 bean 連線,你可以使用相關類,方法或字段聲明的注解,将 bean 配置移動到元件類本身。

在 XML 注入之前進行注解注入,是以後者的配置将通過兩種方式的屬性連線被前者重寫。

注解連線在預設情況下在 Spring 容器中不打開。是以,在可以使用基于注解的連線之前,我們将需要在我們的 Spring 配置檔案中啟用它。是以如果你想在 Spring 應用程式中使用的任何注解,可以考慮到下面的配置檔案。

序号 注解 & 描述
1 @[email protected] 注解應用于 bean 屬性的 setter 方法。
2 @Autowired注解可以應用到 bean 屬性的 setter 方法,非 setter 方法,構造函數和屬性。
3 @Qualifier通過指定确切的将被連線的 bean,@Autowired 和 @Qualifier 注解可以用來删除混亂。
4 JSR-250 AnnotationsSpring 支援 JSR-250 的基礎的注解,其中包括了 @Resource,@PostConstruct 和 @PreDestroy 注解。

Spring @Required 注解

@Required 注解應用于 bean 屬性的 setter 方法,它表明受影響的 bean 屬性在配置時必須放在 XML 配置檔案中,否則容器就會抛出一個 BeanInitializationException 異常。下面顯示的是一個使用 @Required 注解的示例。

序号 描述
1 建立一個名為 SpringExample 的項目,并且在所建立項目的 src 檔案夾下建立一個名為 com.tutorialspoint 的包。
2 使用 Add External JARs 選項添加所需的 Spring 庫檔案,就如在 Spring Hello World Example 章節中解釋的那樣。
3 在 com.tutorialspoint 包下建立 Java 類 Student 和 MainApp。
4 在 src 檔案夾下建立 Beans 配置檔案 Beans.xml。
5 最後一步是建立所有 Java 檔案和 Bean 配置檔案的内容,并且按如下解釋的那樣運作應用程式。

Spring @Autowired 注解

使用 Spring 開發時,進行配置主要有兩種方式,一是 xml 的方式,二是 java config 的方式。Spring 技術自身也在不斷的發展和改變,從目前 Springboot 的火熱程度來看,java config 的應用是越來越廣泛了,在使用 java config 的過程當中,我們不可避免的會有各種各樣的注解打交道,其中,我們使用最多的注解應該就是 @Autowired 注解了。這個注解的功能就是為我們注入一個定義好的 bean。

@Autowired 注解的作用到底是什麼?

@Autowired 這個注解我們經常在使用,現在,我想問的是,它的作用到底是什麼呢?

首先,我們從所屬範圍來看,事實上這個注解是屬于 Spring 的容器配置的一個注解,與它同屬容器配置的注解還有:@Required,@Primary, @Qualifier 等等。是以 @Autowired 注解是一個用于容器 ( container ) 配置的注解。

其次,我們可以直接從字面意思來看,@autowired 注解來源于英文單詞 autowire,這個單詞的意思是自動裝配的意思。自動裝配又是什麼意思?這個詞語本來的意思是指的一些工業上的用機器代替人口,自動将一些需要完成的組裝任務,或者别的一些任務完成。而在 Spring 的世界當中,自動裝配指的就是使用将 Spring 容器中的 bean 自動的和我們需要這個 bean 的類組裝在一起。

Spring @Qualifier 注解

Spring @Qualifier 注解

可能會有這樣一種情況,當你建立多個具有相同類型的 bean 時,并且想要用一個屬性隻為它們其中的一個進行裝配,在這種情況下,你可以使用 @Qualifier 注解和 @Autowired 注解通過指定哪一個真正的 bean 将會被裝配來消除混亂。

步驟 描述
1 建立一個名為 SpringExample 的項目,并且在所建立項目的 src 檔案夾下建立一個名為 com.tutorialspoint 的包。
2 使用 Add External JARs 選項添加所需的 Spring 庫檔案,就如在 Spring Hello World Example 章節中解釋的那樣。
3 在 com.tutorialspoint 包下建立 Java 類 Student,Profile 和 MainApp。
4 在 src 檔案夾下建立 Beans 配置檔案 Beans.xml。
5 最後一步是建立所有 Java 檔案和 Bean 配置檔案的内容,并且按如下解釋的那樣運作應用程式。

Spring 基于 Java 的配置

基于 Java 的配置

到目前為止,你已經看到如何使用 XML 配置檔案來配置 Spring bean。如果你熟悉使用 XML 配置,那麼我會說,不需要再學習如何進行基于 Java 的配置是,因為你要達到相同的結果,可以使用其他可用的配置。

基于 Java 的配置選項,可以使你在不用配置 XML 的情況下編寫大多數的 Spring,但是一些有幫助的基于 Java 的注解,解釋如下:

@Configuration 和 @Bean 注解

帶有 @Configuration 的注解類表示這個類可以使用 Spring IoC 容器作為 bean 定義的來源。@Bean 注解告訴 Spring,一個帶有 @Bean 的注解方法将傳回一個對象,該對象應該被注冊為在 Spring 應用程式上下文中的 bean。