您好,登錄后才能下訂單哦!
本篇內容主要講解“Spring中獲取Bean對象的注入方式有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spring中獲取Bean對象的注入方式有哪些”吧!
獲取 bean 對象也叫做對象裝配,是把對象取出來放到某個類中,有時候也叫對象注?。
對象裝配(對象注?)的實現?法以下 3 種:屬性注?、構造?法注?、Setter 注?。
下面例子均是將 Service 類注?到 Controller 類中。
屬性注?是使?@Autowired 實現的,將 Service 類注?到 Controller 類中。
Service 類的實現代碼如下:
Controller 類的實現代碼如下:
獲取 Controller 中的 getUser ?法:
執行結果如下:
屬性注?的核?實現如下:
注意:如果當前類中只有一個構造方法,那么@Autowired 注解可以省略。
1.屬性注入的特點就是寫法簡單,但是通用性不好,它只能運行在IoC容器下,如果是非IoC容器就會出現問題。
2.Setter注入是早期Spring版本的推薦寫法,但是Setter注入通用性沒有構造方法注入的通用性好,所以現在Spring官方推薦的是構造方法注入。
3.構造方法注入:通用性更好,它能確保在使用注入對象之前,此時這個注入對象一定是初始化過了。當構造方法注入參數過多時,此時開發者就要檢查自己所寫的代碼是否符合單一設計原則的規范了,這種注入方式也是Spring后期官方推薦的注入方式。
在進?類注?時,除了可以使?@Autowired 關鍵字之外,我們還可以使? @Resource 進?注?,如下代碼所示:
那么@Autowired 和 @Resource 有什么區別呢?
注意:@Resource只支持屬性注入和Setter注入,不支持構造方法注入。
1.@Autowired 和 @Resource的出身不同:@Resource來自于JDK(java的親兒子),而@Autowired是Spring框架提供的。
2.用法不同:@Autowired三種注入方式都支持,但是@Resource不支持構造方法注入。
3.支持的參數不同:@Resource支持更多的參數設置,比如name、type等,而@Autowired只支持required參數設置。
到此,相信大家對“Spring中獲取Bean對象的注入方式有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。