• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    spring常用注解

    ? ? ? 本次本家兒要介紹Spring注解。

    ? ? ? 注解分為兩類:

    ? ? ? ? 1、一類是利用Bean,便是把已經在xml文件中設置裝備擺設好的Bean拿來用,完當作屬性、方式的組裝;好比@Autowired , @Resource,可以經由過程byTYPE(@Autowired)、byNAME(@Resource)的體例獲取Bean;

    ? ? ? ??2、一類是注冊Bean,@Component , @Repository , @ Controller ,@Service , @Configration這些注解都是把您要實例化的對象轉化當作一個Bean,放在IoC容器中,等您要用的時辰,它會和上面的@Autowired , @Resource共同到一路,把對象、屬性、方式完美組裝。

    東西/原料

    • 電腦

    第一步:注解利用Bean

    1. 1

      @Autowired或者(? @Autowired(required=false))


      Spring 2.5 引入了 @Autowired 注釋,它可以對類當作員變量、方式及機關函數進行標注,完當作主動裝配的工作。?經由過程 @Autowired的利用來消弭 set ,get方式。

      若是我們想利用名稱裝配可以連系@Qualifier注解進行利用,如下:

      @Autowired() @Qualifier("baseDao") ? ??

      ?private BaseDao baseDao; ?


      1、required屬性

      ? required屬性值可覺得true( 默認值)和false。若是為true的話,沒有匹配的類則拋出異常;若是為false,則暗示不是強制必需可以或許找到響應的類,無論是否注入當作功,都不會拋錯。

      2、工作道理

      ?注解解析器:AutowiredAnnotationBeanPostProcessor

      2.1、Spring容器啟動時,AutowiredAnnotationBeanPostProcessor被注冊到容器;

      2.2、掃描代碼,若是帶有@Autowired注解,則將依靠注入信息封裝到InjectionMetadata中(見掃描過程);
      2.3、建立bean時(實例化對象和初始化),會挪用各類BeanPostProcessor對bean初始化,AutowiredAnnotationBeanPostProcessor負責將相關的依靠注入進來;


      3、@Autowired掃描過程

      掃描當前類中標注@Autowired的屬性和方式;

      再查找父類中注@Autowired的屬性和方式,依次遍歷;



      詳解在分歧場景利用的體例:https://blog.csdn.net/horacehe16/article/details/79811763

    2. 2

      @Resource(這個注解屬于J2EE的)

      1、默認安照名稱進行裝配,名稱可以經由過程name屬性進行指定, 若是沒有指定name屬性,當注解寫在字段上時,默認取字段名進行按照名稱查找,若是注解寫在setter方式上默認取屬性名進行裝配。 當找不到與名稱匹配的bean時才按照類型進行裝配。可是需要注重的是,若是name屬性一旦指定,就只會按照名稱進行裝配。

      ?Java代碼 ?

      ?@Resource(name="baseDao") ? ??

      ?private BaseDao baseDao; ? ??

      2、 保舉利用:@Resource注解在字段上,且這個注解是屬于J2EE的,削減了與spring的耦合。最主要的這樣代碼看起就比力優雅。

      3. 只指定@Resource注解的type屬性,則從上下文中找到類型匹配的獨一bean進行裝配,找不到或者找到多個,城市拋出異常

      4. 既指定了@Resource的name屬性又指定了type,則從Spring上下文中找到獨一匹配的bean進行裝配,找不到則拋出異常

      43a7d933c895d1431a88f7cb7df082025baf075f.jpg aec379310a55b3192d83909d4da98226cefc17db.jpg
    • 發表于 2019-12-16 19:49
    • 閱讀 ( 661 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆