首頁  >  文章  >  Java  >  Java Spring中的讀寫操作實例分析

Java Spring中的讀寫操作實例分析

PHPz
PHPz轉載
2023-05-07 13:31:16625瀏覽

    儲存bean物件

    之前我們儲存bean物件時,需要在設定檔中加入一行bean才能進行注入

    Java Spring中的讀寫操作實例分析

    這種注入方式並不好,如果設定檔出了錯,程式是不會顯示錯誤訊息的。這對初學者來說很不友善。

    1.建立專案

    建立啟動類別和main方法

    Java Spring中的讀寫操作實例分析

    引入依賴

    Java Spring中的讀寫操作實例分析

    <dependencies>
       <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    </dependencies>

    建立設定檔

    #我們約定好建立的bean物件放在com.bean套件下:

    Java Spring中的讀寫操作實例分析

    <dependencies>
       <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    </dependencies>

    2.添加註解將bean存入容器中

    使用Spring的核心就是使用註解,我們學習的註解有5個

    @Controller 【控制器】@Service 【服務】@Repository 【倉庫】@Configuration 【設定/佈局】@Component 【元件】 2.1 controller

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    #我們之前能夠透過傳入id參數來取得對象,但那是加了一行bean手動加入的id,但現在我們使用了註解,難道就只能使用類別類型來獲取嗎?

    我們使用註解注入bean物件時,id其實預設是類別名稱的小駝峰形式:

    Java Spring中的讀寫操作實例分析

    原因先不解釋,後面會說。

    容易犯的錯誤:
    我們之前在設定檔中加入了bean物件尋找的根目錄,意味著會從這個目錄開始向下搜索,但不會向上:

    下級目錄

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    上級目錄

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    2.2 Service

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    2.3 Repository

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    2.4 Configuration

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    ##2.5 Component

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    2.6 為什麼會有5大類別註解

    Java Spring中的讀寫操作實例分析

    在公司中每個人負責的領域不同,因此所使用的類別註解也是不同的,但五大類註解本質都是一樣的。

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    我們透過兩個類別註解就能清楚的看到,其他四個註解都是引入了Component註解的方法,也就是說Component是其他四個類註解的父親。那麼Component是幹嘛的呢?就是不好分到其他四個類別註解時丟給它的~

    2.7 id為什麼預設是小駝峰

    們使用全域搜尋:

    Java Spring中的讀寫操作實例分析

    找出AnnotationBeanNameGenerator:

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    測試:

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    2.8使用bean註解
    bean註解是一個方法註解,當對一個方法使用時,傳回的物件也會被Spring注入,但需要配合五大類註解使用(任一都行)

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    id就是方法名稱。

    2.8.1 bean重新命名

    • #2.8.2重新命名多個
    注意

    :當使用name屬性重新命名後,原本的方法名稱會失去作用,也就是說只能用那麼修改後的名字作為id了。

    取得bean物件

    Java Spring中的讀寫操作實例分析取得bean物件也叫物件注入,其有以下3種方法:

    Java Spring中的讀寫操作實例分析

    屬性注入Java Spring中的讀寫操作實例分析

    建構方法注入

    Java Spring中的讀寫操作實例分析Setter注入

    Java Spring中的讀寫操作實例分析

    1.屬性注入

    1.1 Autowired

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    #雖然現在看起來沒什麼問題,但是當我們對同一類型的物件進行了多次注入:

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析#此時就需要精準定位所選的物件了,需要

    類型名稱

    :

    1.2Resource

    1.3二者區別Java Spring中的讀寫操作實例分析

    Resource有name 屬性,可以指定注入bean的名稱

    Java Spring中的讀寫操作實例分析

    但Autowired也有搭配註解,@Qualifier,一樣可以指定選擇的bean對象,所以二者之間嘛,我覺得打成平手

    Java Spring中的讀寫操作實例分析ps

    :Autowired註解一開始是要進行查詢所有類型為所需注入的物件的類型,但Autowired一次只能注入一個對象,因此當統一型別的物件注入多次後會報錯。而Qualifier註解本質上是對其所查詢的結果進行篩選。 ######2.建構方法注入#########或使用Autowired註解:######################## #####ps###:當只有一個建構方法時,Autowired可以省略######但當有兩個以上時不能省略############

    Java Spring中的讀寫操作實例分析

    Setter注入

    還是透過Autowired

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    Java Spring中的讀寫操作實例分析

    ## Resource###也支援Setter注入。 ######經典面試題#########屬性注入、建構方法注入、Setter注入有什麼不同? ################

    以上是Java Spring中的讀寫操作實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除