日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring中的注解之@Override和@Autowired

瀏覽:150日期:2022-08-12 08:04:24
一、Override

首先,@Override 注解是偽代碼,表示子類重寫父類的方法。這個注解不寫也是可以的,但是寫了有如下好處:

1. 可以當注釋用,方便閱讀(注解很重要的一個作用就是注釋);

2. 編譯器和 IDE 可以驗證 @Override 下面的方法名是否是父類中所有的,如果沒有的話就會報錯。如果沒有加 @Override ,而子類中的方法名又寫錯了,這個時候編譯器是可以編譯通過的,因為編譯器以為這個方法是你的子類中自己增加的方法。

下面來驗證一下,首先有一個 IPay 的父類,包含一個 toPay 方法,然后 WeChatPay 子類繼承了 IPay 類,里面重寫了父類的 toPay 方法。

public class WeChatPay extends IPay { @Override public void toPay() {System.out.println('開始微信支付'); } public static void main(String[] args) {WeChatPay weChatPay = new WeChatPay();weChatPay.toPay(); }}class IPay { public void toPay() {System.out.println('開始支付'); }}

我們來執行下 WeChatPay 中的 main 方法,輸出內容如下:

開始微信支付

現在我們把父類中的 toPay 方法名改掉,可以看到代碼還沒執行,IDE 就有錯誤提示了:

Spring中的注解之@Override和@Autowired

如果執行上面的代碼,編譯器會直接報錯,這是因為 toPay 方法在父類中不存在:

java: 方法不會覆蓋或實現超類型的方法

這時候如果把 @Override 注解去掉,編譯是可以通過的,編譯器會認為是子類中定義了一個新方法:

Spring中的注解之@Override和@Autowired

二、Autowired

@Autowired 顧名思義,就是自動裝配,其作用是為了消除代碼Java代碼里面的getter/setter與bean屬性中的property。@Autowired 是 Spring 自帶的注解,通過 AutowiredAnnotationBeanPostProcessor 類實現的依賴注入。

將@autowored寫在被注入的成員變量上,就不用再xml文件中配置了,在程序中去掉相應的setter和getter方法

下面用代碼測試一下:

interface IPay { String pay();}@Serviceclass Alipay implements IPay { @Override public String pay() {return '發起支付寶支付'; }}@Servicepublic class PayService { @Autowired private Alipay alipay;public String toPay() {return alipay.pay(); }}

個人理解,@Autowired 就是自動裝箱機制。Alipay 里面的 pay 是實例方法,如果想要調用它,就必須創建一個 alipay 對象,然后通過這個對象去調用。@Autowired 等效于下面的代碼:

public class PayService { public String toPay() { Alipay alipay = new Alipay();return alipay.pay(); }}

使用 @Autowired 注入,代碼看起來簡潔了很多

測試一下,如果把 @Autowired 注釋掉看看會怎樣:

Spring中的注解之@Override和@Autowired

哦吼,報錯了!這說明 @Autowired 被注釋掉之后, alipay 沒有裝箱,還只是一個初始值 null ,因此無法調用 pay 方法:

Spring中的注解之@Override和@Autowired

有幾個地方需要注意下,@Autowired 必須用在 Spring bean 里面,也就是說類的外面必須要加 @Service 、@Component 等注解,讓這個類變成 bean ,不然就會報錯:

Spring中的注解之@Override和@Autowired

此外,如果是 SpringBoot 應用,@Controller 和 @RestController 也是一個合法的 Spring bean:

@RestController@RequestMapping('pay')public class PayService { @Autowired private Alipay alipay;@GetMapping('alipay') public String toPay() {return alipay.pay(); }}

有 @RestController 就不用加 @Service 了

還有一個注意點,需要自動裝配的類,本身也必須是 Spring bean,也就是說前面要加 @Service ,不然 @Autowired 無法注入。

Spring中的注解之@Override和@Autowired

現在代碼可以正常運行,但是 @Autowired 還是有警告,如下圖所示:

Spring中的注解之@Override和@Autowired

我們知道依賴注入有三種方式:

變量(filed)注入

@Autowiredprivate JavaMailSender mailSender;

構造方法注入

final JavaMailSender mailSender;public IMailServiceImpl(JavaMailSender mailSender) { this.mailSender = mailSender;}

set方法注入

private JavaMailSender mailSender;@Autowiredpublic void setJavaMailSender (JavaMailSender mailSender) { this.mailSender = mailSender;}

其中第一種變量注入是不推薦的,原因可以看一下這篇文章: @Autowired(required=false)注入注意的問題

到此這篇關于Spring中的注解之@Override和@Autowired的文章就介紹到這了,更多相關注解@Override和@Autowired內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品黄色片| 青青在线精品| 日本亚洲不卡| 国产精品毛片久久久| 久久精品动漫| 日韩av有码| 中文av在线全新| 久久精品91| 欧美日韩国产免费观看 | 国产二区精品| 99久久婷婷这里只有精品| 国产高潮在线| 日韩免费av| 国产综合视频| 欧美日韩视频| 亚洲精品精选| 国产精品久久久久久久久久妞妞| 日韩av资源网| 久久99精品久久久久久园产越南 | 日韩av中文字幕一区二区三区| 国产亚洲一卡2卡3卡4卡新区| 国产精品一区二区三区www| 日韩av网站在线免费观看| 麻豆精品蜜桃视频网站| 国产美女高潮在线| 香蕉国产精品| 亚洲精品系列| 久久99高清| 欧美日韩一二| 亚洲日本免费电影| 中文字幕亚洲在线观看| 久久精品国产大片免费观看| 国产99亚洲| 国产高清一区| 色一区二区三区| 婷婷精品在线观看| 亚洲一区网站| 国产精品hd| 欧美亚洲自偷自偷| 亚洲影视一区| 97久久亚洲| 91欧美在线| 日韩中文字幕区一区有砖一区 | 国产精品a久久久久| 日韩欧美精品一区| 亚洲一区导航| 国产欧美一区二区三区米奇| 麻豆理论在线观看| 免费观看在线综合| 精品视频网站| 尹人成人综合网| 美女91精品| 久久人人97超碰国产公开结果| 麻豆精品视频在线观看| 99视频精品| 美日韩一区二区三区| 亚洲毛片视频| 国产精品yjizz视频网| 亚洲欧美久久久| 美女视频黄 久久| 日韩一级精品| 国产日韩在线观看视频| 久久视频精品| 国产精品调教视频| 狠狠久久婷婷| 精品久久精品| 国产精品久久久久久久久久白浆 | 欧美国产91| 夜夜嗨网站十八久久| 久久国产三级| 午夜国产精品视频| 国产福利资源一区| 久热re这里精品视频在线6| 国产成人a视频高清在线观看| 视频一区二区三区在线| 国产在线观看www| 欧美久久亚洲| 久久午夜精品| 欧美精选视频一区二区| 国产欧美日韩一级| 亚洲a在线视频| 欧美日韩99| 欧美专区18| 播放一区二区| 国产成人久久精品麻豆二区 | 久久不卡日韩美女| 亚洲人亚洲人色久| 在线精品视频在线观看高清| 国产精品精品国产一区二区| 国产亚洲一区| 日本麻豆一区二区三区视频| 亚洲欧美不卡| 激情综合自拍| 日韩精品2区| 国产一区二区三区亚洲综合| 青草国产精品| 99在线|亚洲一区二区| av高清不卡| 久久亚洲精品中文字幕| 日韩精品亚洲专区在线观看| 99riav1国产精品视频| 神马日本精品| 国产日韩电影| 国产成人精品一区二区免费看京 | 亚洲精品四区| 福利一区和二区| 日韩欧美少妇| 国产欧美日韩| 日韩在线观看一区二区三区| 国产亚洲精品久久久久婷婷瑜伽| 日本久久精品| 欧美激情五月| 国产伦精品一区二区三区千人斩| 一区二区国产在线| 久久高清一区| 亚洲国产日韩欧美在线| 成人国产精品| 天堂网在线观看国产精品| 午夜av不卡| 日韩精品中文字幕第1页| 国产精区一区二区| 久久精品av麻豆的观看方式| 日韩av一区二区三区四区| 亚洲九九精品| 日产午夜精品一线二线三线| 国产日韩一区| 日韩av网站在线观看| 91成人在线网站| 国产午夜一区| 国产精品videossex久久发布| 久久狠狠久久| 国产免费av国片精品草莓男男| **爰片久久毛片| 欧美日韩夜夜| 国产精品激情| 国产精品一区免费在线| 国产欧美一区二区色老头| 国产日韩1区| 久久久91麻豆精品国产一区| 欧美激情久久久久久久久久久| 久久久久久亚洲精品美女| 国产成人a视频高清在线观看| av一区在线| 亚洲一区二区免费看| 视频精品一区| 国产精品久久久久久久久久久久久久久| 国产极品嫩模在线观看91精品| 成人免费一区| 欧美成人午夜| 日韩一二三区在线观看| 国产精品入口久久| 高清一区二区三区| 亚州av乱码久久精品蜜桃| 日韩影院在线观看| 欧美日韩中出| 韩国久久久久久| 国产精品三上| 欧美一级二级视频| 国产成人精品一区二区免费看京| 久久精品影视| 亚洲我射av| 国产精品亚洲人成在99www| 日韩88av| 91久久视频| 欧美日韩一区二区三区不卡视频 | 欧美一级二区| 99久久久久国产精品| 午夜精品一区二区三区国产| 久久精品国语| 亚洲欧美在线综合| 国产在线成人| sm久久捆绑调教精品一区| 91欧美极品| 日韩三区四区| 性欧美xxxx免费岛国不卡电影| 国产一区二区三区四区二区 | 中文字幕一区二区精品区| 欧美永久精品| 国产精品字幕| 最新国产精品久久久| 精品午夜视频| 99国产精品久久久久久久成人热| 91精品麻豆| 久久国产电影| 久久狠狠亚洲综合| 亚洲高清毛片| 国产日韩欧美三区| 欧美日韩国产高清电影| 四虎在线精品| 日韩精品一卡| 国产日韩欧美一区二区三区| 亚洲一本视频| 国产精品久久| 玖玖精品视频| 日韩av免费大片| 亚洲精品视频一二三区| 日韩欧美网址| 国产视频网站一区二区三区| 婷婷亚洲综合| 精品国产18久久久久久二百|