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

Spring依賴注入@Autowried的這些功能你都知道嗎?

開發 前端
@Autowried注解首先根據byType注入,如果有多個的情況會按照byName注入,如果沒有符合的名稱那么系統將會報錯。結合@Qualifier限定注入的Bean。

[[413925]]

環境:spring5.2.15

@Autowried注解首先根據byType注入,如果有多個的情況會按照byName注入,如果沒有符合的名稱那么系統將會報錯。結合@Qualifier限定注入的Bean。

功能1

  • As of Spring Framework 4.3, an @Autowired annotation on such a constructor is no longer necessary if the target bean defines only one constructor to begin with. However, if several constructors are available and there is no primary/default constructor, at least one of the constructors must be annotated with @Autowired in order to instruct the container which one to use.

大意: 從spring4.3開始,如果目標bean只定義了一個構造函數,則不再需要在這樣的構造函數上使用@Autowired注釋。但是,如果有多個構造函數可用,并且沒有主/默認構造函數,則必須至少用@Autowired對其中一個構造函數進行注釋,以便指示容器使用哪個構造函數。

示例:

  1. public class SimpleMovieLister { 
  2.   private MovieFinder movieFinder; 
  3.  
  4.   @Autowired 
  5.   public void setMovieFinder(MovieFinder movieFinder) { 
  6.     this.movieFinder = movieFinder; 
  7.   } 

功能2

@Autowired可以將注釋應用于具有任意名稱和多個參數的方法

示例:

  1. public class MovieRecommender { 
  2.  
  3.   private MovieCatalog movieCatalog; 
  4.  
  5.   private CustomerPreferenceDao customerPreferenceDao; 
  6.  
  7.   @Autowired 
  8.   public void prepare(MovieCatalog movieCatalog,CustomerPreferenceDao customerPreferenceDao) { 
  9.     this.movieCatalog = movieCatalog; 
  10.     this.customerPreferenceDao = customerPreferenceDao; 
  11.   } 

功能3

可以將@Autowired應用于字段,甚至可以將其與構造函數混合使用

  1. public class MovieRecommender { 
  2.   private final CustomerPreferenceDao customerPreferenceDao; 
  3.  
  4.   @Autowired 
  5.   private MovieCatalog movieCatalog; 
  6.  
  7.   @Autowired 
  8.   public MovieRecommender(CustomerPreferenceDao customerPreferenceDao) { 
  9.     this.customerPreferenceDao = customerPreferenceDao; 
  10.   } 

功能4

可以通過將@Autowired注釋添加到需要該類型數組的字段或方法上

  1. public class MovieRecommender { 
  2.  
  3.   @Autowired 
  4.   private MovieCatalog[] movieCatalogs; 
  5.  

功能5

可以通過將@Autowired注釋添加到需要該類型集合類的字段或方法上

  1. public class MovieRecommender { 
  2.  
  3.   private Set<MovieCatalog> movieCatalogs; 
  4.  
  5.   @Autowired 
  6.   public void setMovieCatalogs(Set<MovieCatalog> movieCatalogs) { 
  7.     this.movieCatalogs = movieCatalogs; 
  8.   } 

注意:如果你希望數組或list列表注入的bean具有順序,那么你可以對bean實現Ordered接口或者是使用@Order注解或者標準的 @Priority(JavaEE) 注解。上面的Set不具有順序性

功能6

可以通過將@Autowired注釋添加到Map集合的字段或方法上

  1. public class MovieRecommender { 
  2.  
  3.   private Map<String, MovieCatalog> movieCatalogs; 
  4.  
  5.   @Autowired 
  6.   public void setMovieCatalogs(Map<String, MovieCatalog> movieCatalogs) { 
  7.     this.movieCatalogs = movieCatalogs; 
  8.   } 

這里的key為Bean的名稱。

注意:對于聲明的數組、集合或Map集合,至少需要一個匹配元素,否則會錯誤。

默認情況下使用@Autowired注解意味著是必須具有相應的bean存在,否則程序報錯。可以通過如下方式改變默認行為

  1. public class SimpleMovieLister { 
  2.   private MovieFinder movieFinder; 
  3.   @Autowired(required = false
  4.   public void setMovieFinder(MovieFinder movieFinder) { 
  5.     this.movieFinder = movieFinder; 
  6.   } 

注意:如果這里沒有合適的MovieFinder類型的Bean那么這里的setter方法都不會執行。如果這里是通過構造函數注入,那么即便使用了required = false程序還是會報錯。

功能7

可以通過Java 8的Java.util.Optional來表示特定依賴項的非必需性質

  1. public class SimpleMovieLister { 
  2.   @Autowired 
  3.   public void setMovieFinder(Optional<MovieFinder> movieFinder) { 
  4.   } 

功能8

使用 @Nullable 注解標準非必須依賴項

  1. @Autowired 
  2. public void setMovieFinder(@Nullable MovieFinder movieFinder) { 
  3.   System.out.println("-----movie") ; 
  4.   this.movieFinder = movieFinder; 

功能9

@Autowired可以用于注入 BeanFactory, ApplicationContext, Environment, ResourceLoader, ApplicationEventPublisher, and MessageSource

示例:

  1. @Autowired 
  2. private ApplicationContext context; 

注意:

  • The @Autowired, @Inject, @Value, and @Resource annotations are handled by Spring BeanPostProcessor implementations. This means that you cannot apply these annotations within your own BeanPostProcessor or BeanFactoryPostProcessor types (if any). These types must be 'wired up' explicitly by using XML or a Spring @Bean method.

大意:你不能直接在自定義的BeanPostProcessor或BeanFactoryPostProcessor內使用@Autowired,@Inject,@Value,@Resource注解;必須通過XML或者@Bean 方法的形式進行使用;如果這樣用可能會出現各種奇葩問題,你只需知道不要這么用即可。

 

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

2019-02-12 11:15:15

Spring設計模式Java

2021-08-05 18:21:29

Autowired代碼spring

2024-04-28 08:20:52

Controller接口URL

2023-02-15 08:12:19

http超時過濾器

2016-01-11 09:48:07

2021-04-10 07:04:00

WPS技巧辦公軟件

2016-03-18 19:03:35

認知計算IBM

2022-11-10 09:00:41

2023-08-30 07:39:16

PawSQL數據庫

2019-07-08 10:18:38

MPLSIP數據

2018-05-15 08:27:20

Scikit-lear機器學習Python

2024-03-26 10:10:45

JavaScript操作符操作表達式

2022-09-07 09:01:14

JS操作符運算符

2020-05-27 11:30:54

Chrome DevT前端命令

2023-04-23 09:50:50

@BeanSpring

2023-04-28 12:37:59

Spring@Bean使用方式

2018-04-24 15:40:39

無線路由器無線網絡上網

2020-02-20 08:30:49

OSPF網絡協議路由協議

2022-05-02 09:17:41

Edge瀏覽器微軟

2020-10-28 11:20:55

vue項目技
點贊
收藏

51CTO技術棧公眾號

精品国产一区二区三区av性色| 欧美高清日韩| 久久久久久免费视频| 狠狠躁夜夜躁人人躁婷婷91| 久久国产精品免费一区| 黄色网页在线看| 蜜桃av一区二区三区| 日韩在线视频中文字幕| 一级特黄视频| 国产东北露脸精品视频| 97视频免费看| 尤物在线视频| 亚洲四区在线观看| 国产夫妻自拍一区| 亚洲第一伊人| 欧亚精品中文字幕| 国产成年精品| 精品久久久久99| 成人影院免费观看| 国产三级一区二区| 在线精品日韩| 亚洲天堂偷拍| 国产精品专区h在线观看| 欧美电影免费观看| 亚洲国产中文字幕久久网| 传媒在线观看| 福利一区福利二区微拍刺激| 亚洲色图久久久| 成人美女视频在线看| 精品欧美一区二区久久久伦| 第一sis亚洲原创| 久久99国产综合精品女同| 欧美性片在线观看| 一区二区三区四区精品| 日本在线啊啊| 国产一区二区三区毛片| 国产一区二区三区影视| 久久精品视频在线播放| 老司机精品视频在线播放| 久久视频在线直播| 日韩美女国产精品| 国内精品久久影院| 91视频久久| 国产亚洲第一区| 免费日韩av片| 国产av天堂无码一区二区三区| 久久久电影一区二区三区| 91福利国产成人精品播放| 夜夜嗨av一区二区三区| 成人在线免费视频| 精品va天堂亚洲国产| 国产美女高潮在线观看| 九九视频这里只有精品| 亚洲调教视频在线观看| 97碰在线视频| 一区二区三区免费看视频| 蜜桃视频在线观看网站| 亚洲精品国产精品乱码不99按摩| 久久久久黄色| 51精品国产人成在线观看| 国产乱国产乱300精品| 国产字幕中文| 色噜噜狠狠狠综合曰曰曰| 精品成人影院| 亚洲成人第一| 色综合久久久久久久久久久| 一区二区三区电影大全| 国产一区玩具在线观看| 欧美国产精品一区二区三区| 福利视频在线看| 8x拔播拔播x8国产精品| 日韩精品一级中文字幕精品视频免费观看 | 一区二区三区不卡视频| 日本在线观看大片免费视频| 欧美巨大黑人极品精男| 久热精品在线| 电影在线高清| 国产精品一区久久| 久久久久亚洲综合| 九色在线观看| 成人欧美一区二区三区在线| 久久久久国产精品免费免费搜索| 免费在线看黄网站| 91国产在线播放| 无码av免费一区二区三区试看| 高清久久一区| 日本阿v视频在线观看| 日韩欧美国产高清| 久久国产日韩| 欧美卡一卡二| 男人天堂成人网| 亚洲精品日韩在线| 国产一区二区三区在线观看免费| 黄色在线免费| 日韩和欧美的一区二区| 日韩亚洲欧美成人一区| 免费高清不卡av| 韩日在线视频| 亚洲欧洲日韩综合二区| 亚洲国内精品在线| 国产乱妇无码大片在线观看| 日韩三区在线| 污视频网站免费| 精品中文字幕人| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | avav在线看| 亚洲国产成人一区| 成人白浆超碰人人人人| 久久丁香四色| 青娱在线视频| 五月天久久综合网| 中文字幕日韩精品在线| 国产精品久久久一区麻豆最新章节| 国产成人1区| av成人福利| 免费日韩视频在线观看| 成人激情在线观看| 国产亚洲精品久久久久久牛牛 | 中文国产一区| 日韩成人精品一区二区三区| 97影院手机在线观看 | 草莓视频丝瓜在线观看丝瓜18| 欧美日韩第二页| 久久亚洲精品欧美| 久久色在线播放| 91精品国产综合久久精品性色| 久久精品视频网| 极品av少妇一区二区| 国产激情欧美| 日本欧美在线视频免费观看| www.精品在线| 国产二区视频在线播放| 日韩国产欧美一区| 91亚洲va在线va天堂va国| 亚洲人成在线观看| 69久久夜色精品国产69蝌蚪网| 亚洲午夜久久久久久久久电影网 | 亚洲人成亚洲精品| 欧美国产视频| 周于希免费高清在线观看| av片在线看| 亚洲一区二区三区成人| 天天激情综合| av免费看大片| 亚洲一级免费在线观看| 日本xxxxx18| 日韩免费在线观看av| 国产精品自拍合集| 国产专区在线视频| 亚洲国产精品一区二区第一页 | 国产乱码精品一区二区三区卡 | 亚洲福利一区二区| 中文字幕一区二区三区四区| 国产剧情一区在线| 国产传媒日韩欧美成人| 亚洲第一精品影视| 日韩高清国产一区在线| 久久99精品视频| 国产99精品视频| 大白屁股一区二区视频| 久久新电视剧免费观看| 亚洲综合视频在线观看| 欧美日韩性视频在线| 日韩欧美高清在线视频| 91传媒视频在线播放| 日韩精品在线一区二区| 亚洲性线免费观看视频成熟| 日韩在线播放av| 日本道色综合久久影院| 亚洲精品欧美极品| 欧美一区少妇| 国产xxxxx在线观看| 德国一级在线视频| 2019中文字幕在线视频| 99er精品视频| 欧美在线网址| 国产毛片精品一区| 亚洲乱码国产乱码精品精的特点| 91精品国产综合久久国产大片 | 日本韩国欧美精品大片卡二| 91在线免费看网站| 宅男噜噜99国产精品观看免费| 奇米777影视成人四色| 特级毛片在线| 久久电影院7| 国产福利电影一区二区三区| 色先锋aa成人| 国产成人av网| 国产黄页在线观看| 国产视频三级在线观看播放| 日韩电影av| 91久久中文| 岛国av一区二区三区| 欧美激情网站在线观看| 正在播放一区| 直接在线观看的三级网址| 欧美日韩激情| 亚洲高清视频中文字幕| 国模私拍一区二区三区| 六月婷婷激情网|