国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Spring中被放棄的@Autowired,你會用嗎?

開發(fā) 架構
@Autowired有三種注入方式,分別為:字段(屬性)注入,構造函數注入和Setter方法注入。另外,@Autowired參數注入,僅在單元測試才有意義;靜態(tài)字段(屬性)注入為空問題,需要結合構造函數或Setter方法注入。

注入方式一:屬性(字段)注入

在某個屬性(字段)上使用@Autowired注解時,Spring在創(chuàng)建該Bean的過程中,會根據字段的類型或名稱從Spring容器中查找到所匹配的Bean對象,并賦值給該熟悉。

@Service
public class UserService {

    // 注入方式一:屬性注入
    @Autowired
    private RoleService roleService;

    public void printRoleService() {
        System.out.println(roleService);
    }

}

注入方式二:Setter注入

在某個Setter方法上使用@Autowired注解時,Spring在創(chuàng)建該Bean的過程中,會來調用該Setter方法,并且如果Set方法有入參參數,那么Spring會格局入參參數信息,從Spring容器中找到所匹配的Bean對象賦值給該入參。我們通過再Setter方法中給屬性賦值,從而就達到了Setter方法注入的目的。

@Service
public class UserService {

    private RoleService roleService;

    public void printRoleService() {
        System.out.println(roleService);
    }

    public RoleService getRoleService() {
        return roleService;
    }

    // 注入方式二:Setter注入
    @Autowired
    public void setRoleService(RoleService roleService) {
        this.roleService = roleService;
    }
}

注意:@Autowired注解其實可以添加在任何一個普通方法上,不一定是Setter方法。

注入方式三:構造函數注入

當某個構造方法上使用@Autowired注解時,表示該Bean在創(chuàng)建時會使用這個構造方法來實例化得到一個對象,并且Spring會根據該構造函數的入參參數的類型和名字,從Spring容器中找到所匹配的Bean對象傳給該入參,通過在構造函數中給屬性賦值,從而就達到了構造函數注入的目的。

@Service
public class UserService {

    private RoleService roleService;

    // 注入方式三:構造函數注入
    @Autowired
    public UserService(RoleService roleService) {
        this.roleService = roleService;
    }

    public void printRoleService() {
        System.out.println(roleService);
    }
}

注入方式四:參數注入

盡管@Autowired注解可以加在普通方法或構造方法的參數之前,但是Spring框架中大部分地方都忽略了這種情況下的@Autowired注解,僅僅在spring-test模塊中的對于JUnit Jupiter的支持中,支持了參數前添加@Autowired。

@SpringBootTest(classes = ConstructorAttributeMain.class)
class UserServiceTest {

    @Test
    void printRoleService(@Autowired UserService userService) {
        userService.printRoleService();
    }
}

required屬性釋義

  • required=true:默認值,必須存在Bean,否則報錯
  • required=false:若找不到Bean,則為空
@Service
public class UserService {

    @Autowired(required = true)
    private RoleService roleService;

    @Autowired(required = false)
    private MenuService menuService;

    public void print() {
        System.out.println("role: " + roleService); // print class
        System.out.println("menu: " + menuService); // pint null
    }
}

靜態(tài)屬性(字段)注入

靜態(tài)屬性(字段)或方法是不會進行依賴注入的。

@Service
public class UserService {

    @Autowired
    private static RoleService roleService;


    public void printRole() {
        System.out.println(roleService);
    }
}

但是實際開發(fā)中,我們可能會遇到此問題。因此,有兩種方式解決此問題:

構造方法注入

@Service
public class UserService {

    private static RoleService roleService;

  // 解決靜態(tài)導入第一種方式:構造函數注入
    @Autowired
    public UserService(RoleService roleService) {
        UserService.roleService = roleService;
    }

    public void printRole() {
        System.out.println(roleService);
    }
}

Setter方法注入

@Service
public class UserService {

    private static RoleService roleService;

    // 解決靜態(tài)導入第二種方式:Setter方法注入
    @Autowired
    public void setRoleService(RoleService roleService) {
        UserService.roleService = roleService;
    }

    public void printRole() {
        System.out.println(roleService);
    }
}

小結

綜上所述,@Autowired有三種注入方式,分別為:字段(屬性)注入,構造函數注入和Setter方法注入。

另外,@Autowired參數注入,僅在單元測試才有意義;靜態(tài)字段(屬性)注入為空問題,需要結合構造函數或Setter方法注入。

責任編輯:姜華 來源: 今日頭條
相關推薦

2025-08-06 08:53:35

2025-01-20 00:00:00

反射Java語言

2025-07-04 08:44:23

2018-09-29 15:34:34

JavaList接口

2021-05-21 12:36:16

限流代碼Java

2020-06-04 14:15:55

Java中BigDecimal函數

2021-08-11 10:00:51

緩存MyBatis管理

2021-09-06 10:42:18

Linux命令服務器

2021-08-05 18:21:29

Autowired代碼spring

2025-02-14 08:30:49

SpringJava開發(fā)

2019-01-28 17:42:33

Python數據預處理數據標準化

2019-07-25 12:46:32

Java高并發(fā)編程語言

2025-01-03 08:40:53

Java并發(fā)編程Guava庫

2023-01-28 10:27:04

2023-10-08 10:14:12

2023-12-01 11:13:50

JavaTreeSet

2021-11-03 17:40:51

Python線程

2022-02-10 09:04:50

架構

2024-04-08 00:00:00

asyncawaiPromise

2018-06-26 10:04:41

Siri語音微信
點贊
收藏

51CTO技術棧公眾號

性刺激综合网| 国产日产精品_国产精品毛片| 亚洲精美色品网站| 久久综合社区| 91传媒在线免费观看| www.av精品| 91高清在线视频| 国内精品小视频| 蜜乳av一区二区三区| 美女网站在线| 欧美精品一级| 国产免费裸体视频| 久久一二三区| 男人天堂网站在线| 成人午夜短视频| 欧美一区二区色| 福利一区三区| 91精品免费视频| 2018中文字幕一区二区三区| 欧美视频在线观看| 日本免费黄视频| 777xxx欧美| 狠狠综合久久av一区二区蜜桃| 日韩视频 中文字幕| 色婷婷久久99综合精品jk白丝 | 妞干网在线免费视频| 欧美精品乱码久久久久久| 天堂俺去俺来也www久久婷婷| 男人天堂成人网| 欧美精品一卡两卡| 日韩精品电影| 羞羞在线视频| 久久躁狠狠躁夜夜爽| 久久国产精品72免费观看| 国产乱理伦片a级在线观看| 4438全国成人免费| 99国产精品久| 国产另类xxxxhd高清| 手机成人在线| 欧美一区二区三区精品| 欧美日本二区| 女人偷人在线视频| 国产精选久久久久久| 亚洲视频在线一区二区| 1204国产成人精品视频| 男人操女人免费软件| 深夜福利91大全| 国产sm精品调教视频网站| 少妇淫片在线影院| 中文字幕精品—区二区日日骚| 日韩欧美第一区| 老司机精品视频网站| 中文在线字幕免费观看| 欧美精品七区| 欧美精品一区在线观看| 久久精品天堂| 国产乱妇乱子在线播视频播放网站| 免费av一区二区三区| 欧美日韩黄视频| 国产精品夜夜夜| 超碰在线网址| 一本一道久久a久久精品综合| 精品盗摄一区二区三区| 奇米精品一区二区三区四区| 国产视频中文字幕在线观看| 欧美日韩亚洲在线| 亚洲国产天堂久久综合| 国产精品资源网| 成人免费观看a| 久久美女高清视频| caoporn免费在线| 九九精品在线播放| 激情综合网最新| 色在线免费观看| 夜夜嗨aⅴ免费视频| 亚洲一区二区三区香蕉| 欧美丝袜丝交足nylons| 成人羞羞视频播放网站| 青青草在线播放| 91网在线免费观看| 亚洲午夜视频在线观看| 色多多在线观看| 欧美日本精品在线| 久久久久久电影| 成人动态视频| 欧美hdfree性xxxx| 国产精品国产一区二区| 日韩欧美一区二区不卡| 国产福利视频一区二区三区| 日韩中文字幕无砖| 中国国产一级毛片| 国产在线精品一区二区三区》| 精品国产一区久久| 91免费国产在线观看| 国产成人精品999在线观看| av网站在线播放| 大地资源网在线观看免费官网| 精品国产一区二区三区久久久狼| 欧美国产激情二区三区| 天海翼亚洲一区二区三区| 男男激情在线| 青青草免费在线视频观看| 欧美国产日韩xxxxx| 激情av一区二区| 国产综合色精品一区二区三区| 国产精品对白| 蜜桃视频在线观看免费视频网站www| 无码人妻精品一区二区蜜桃百度| 欧美一区二区三区图| 日韩欧美一级在线播放| 日韩精品中文字幕久久臀| 欧美国产欧美综合| 欧美电影完整版在线观看| 欧美精品一卡| caoprom在线| 亚欧在线免费观看| 91热精品视频| 亚洲日韩欧美视频一区| 国产精品免费视频网站| 亚洲一区成人| 哺乳挤奶一区二区三区免费看| 国产区高清在线| 欧美日韩亚洲第一| 欧美lavv| 欧美在线中文字幕| 日韩av在线最新| 欧美性猛交99久久久久99按摩| 成人污视频在线观看| 黄色亚洲免费| 欧美男人操女人视频| 亚洲少妇视频| 国产高清一区在线观看| 国产精品主播在线观看| 日韩毛片网站| 在线观看a视频| www.xxx黄| 18视频在线观看娇喘| 国产精品麻豆免费版| www.久久草| 天堂资源在线亚洲资源| 日韩制服诱惑| 欧美日韩午夜爽爽| 国产欧美一区二区白浆黑人| 国产一区二区三区在线视频 | 女人香蕉久久**毛片精品| 成人免费直播| 国产精品久久久久久精| 精品人妻人人做人人爽| 国新精品乱码一区二区三区18| 国内精品久久久| 亚洲精品wwww| 色综合一区二区| 中文字幕中文在线不卡住| 久久99精品国产91久久来源| 欧美成人中文| 日韩欧美在线精品| 丁香婷婷久久| 四季久久免费一区二区三区四区| 轻轻色免费在线视频| 国产又大又硬又粗| 日韩欧美视频免费在线观看| 精品福利影视| 国产日韩一区在线| 97在线观看免费高清| 在线免费观看羞羞视频一区二区| 69堂精品视频| 在线观看免费亚洲| 亚洲自拍偷拍图区| 国产婷婷色一区二区三区在线| 久草这里只有精品视频| 国产欧美日韩一级| 很黄很黄激情成人| 国产精品久久天天影视| 希岛爱理av免费一区二区| 一区二区三区日本视频| 另类激情视频| av中文资源在线资源免费观看| 在线a人片免费观看视频| www污污在线| 免费黄色网页| 久久国产情侣| 成人免费网址在线| 老司机午夜av| 三上悠亚久久精品| 4444亚洲人成无码网在线观看| 日本福利一区二区三区| 国产高清在线精品一区二区三区| 国产精品成av人在线视午夜片| 久久久久久这里只有精品| 九九热99久久久国产盗摄| 久久精品久久精品亚洲人| 国产亚洲精品久久久| 日韩精品免费观看| 亚洲老板91色精品久久| 亚洲色无码播放| 最近2019免费中文字幕视频三 | 久久精品亚洲精品国产欧美kt∨ | 亚洲国产精品传媒在线观看| 成人免费视频一区二区| 国产成人av自拍|