[轉載]Spring配置文件詳解一:

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

原文地址:Spring配置文件詳解一:<context:annotation-config/>與<context:component-scan?base-package="com.xx 作者:愛情隨遇而安
  • <context:annotation-config/>
??? 在基于主機方式配置Spring時,Spring配置文件applicationContext.xml,你可能會見 <context:annotation-config/>這樣一條配置,它的作用是 隱式的向Spring容器注冊
?????????????????????????? AutowiredAnnotationBeanPostProcessor,
???????????????????????????CommonAnnotationBeanPostProcessor,
?????????????????????????? PersistenceAnnotationBeanPostProcessor,
???????????????????????????RequiredAnnotationBeanPostProcessor?
?這4個BeanPostProcessor.注冊這4個bean處理器主要的作用是為了你的系統能夠識別相應的注解。????????????????????????
?例如:
  1. ?如果想使用@Autowired注解,需要在Spring容器中聲明AutowiredAnnotationBeanPostProcessor Bean。傳統的聲明方式:<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
  2. 如果想使用@PersistenceContext注解,需要在Spring容器中聲明PersistenceAnnotationBeanPostProcessor Bean。傳統的聲明:<bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>
  3. 如果想使用@Required注解,需要在Spring容器中聲明RequiredAnnotationBeanPostProcessor Bean。傳統聲明方式: <bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>
  4. 如果想使用@Resource、@ PostConstruct、@ PreDestroy等注解就必須聲明CommonAnnotationBeanPostProcessor。傳統申明方式: <bean class="org.springframework.beans.factory.annotation.CommonAnnotationBeanPostProcessor"/>
所以,如果按照傳統聲明一條一條去聲明注解Bean,就會顯得十分繁瑣。
因此如果在Spring的配置文件中事先加上
<context:annotation-config/>這樣一條配置的話,那么所有注解的傳統聲明就可以被? 忽略,即不用在寫傳統的聲明,Spring會自動完成聲明。

  • <context:component-scan base-package="com.xx" />?

? ? <context:component-scan/> 的作用是讓Bean定義注解工作起來,也就是上述傳統聲明方式。 它的base-package屬性指定了需要掃描的類包,類包及其遞歸子包中所有的類都會被處理。

???? 值得注意的是 <context:component-scan/>不但啟用了對類包進行掃描以實施注釋驅動 Bean 定義的功能,同時還啟用了注釋驅動自動注入的功能(即還隱式地在內部注冊了 AutowiredAnnotationBeanPostProcessor 和? CommonAnnotationBeanPostProcessor),因此當使用 <context:component-scan/> 后,就可以將 <context:annotation-config/> 移除了。
?
@Autowired可以對成員變量、方法和構造函數進行標注,來完成自動裝配的工作。@Autowired的標注位置不同,它們都會在Spring在初始化這個bean時,自動裝配這個屬性。注解之后就不需要set/get方法了。

轉載于:https://my.oschina.net/haokevin/blog/1555815

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393604.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393604.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393604.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql 8.0.16修改root密碼_mysql 8.0.16 winx64及Linux修改root用戶密碼 的方法

連接數據庫等基礎操作請自行解決哈&#xff0c;本篇是重點記錄如何改密碼。一、查詢用戶密碼:查詢用戶密碼命令&#xff1a;select host, user, authentication_string from mysql.user ;host&#xff1a;允許用戶登錄的ip‘位置%表示可以遠程&#xff1b;user&#xff1a;當前…

舞臺設計

舞臺設計 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<cstdio> #include<queue> using namespace std;int ucol[1005],dcol[1005],lrow[1005],rrow[1005]; int numr[1005],numc[1005]; int a[100…

LoadRunner11支持的瀏覽器小結

LoadRunner11支持的瀏覽器小結轉載于:https://www.cnblogs.com/zwh-Seeking/articles/11060154.html

手機計算機的隱藏小技巧,漲知識!MIUI計算器原來有這么多隱藏小技巧,最后一個絕對想不到...

原標題&#xff1a;漲知識&#xff01;MIUI計算器原來有這么多隱藏小技巧&#xff0c;最后一個絕對想不到計算器除了我們需要進行日常的計算以外&#xff0c;幾乎是用不到的。但是MIUI中的計算器與普通計算器可不同&#xff0c;里面的隱藏小技巧足以讓你震驚到&#xff0c;那么…

如何使用JavaScript中的工廠函數構建可靠的對象

Discover Functional JavaScript was named one of the best new Functional Programming books by BookAuthority!“發現功能JavaScript”被BookAuthority評為最佳新功能編程書籍之一 &#xff01; I suggest to take into consideration these ideas for building reliable …

leetcode99. 恢復二叉搜索樹(優先隊列)

二叉搜索樹中的兩個節點被錯誤地交換。請在不改變其結構的情況下&#xff0c;恢復這棵樹。示例 1:輸入: [1,3,null,null,2]1/3\2輸出: [3,1,null,null,2]3/1\2代碼 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* …

Android零基礎入門第83節:Activity間數據傳遞方法匯總

2019獨角獸企業重金招聘Python工程師標準>>> 在Activity間傳遞的數據一般比較簡單&#xff0c;但是有時候實際開發中也會傳一些比較復雜的數據&#xff0c;本節一起來學習更多Activity間數據的傳遞。 一、常用數據類型 在前面幾節我們只學習了一些常用類型的數據傳遞…

mysql gz 安裝_Linux下安裝mysql 5.7.17.tar.gz的教程詳解

1.創建MySQL組和mysql用戶groupadd mysqluseradd -r -g mysql mysql2.拷貝&#xff1a;cp -R mysql-5.7.16-linux-glibc2.5-i686 /usr/local/mysql3.創建data目錄mkdir /usr/local/mysql/data3.安裝數據庫切換到/usr/loca/mysql目錄下cd /usr/local/mysql修改當前目錄的所有者為…

02-c#基礎之01-基礎語法(一)

1.注釋符 1&#xff09;注銷 2) 解釋 2.C#中的3種注釋符 1&#xff09;單行注釋// 2)多行注釋/*要注釋的內容*/ 3)文檔注釋///多用來解釋類或者方法 2.VS中的快捷鍵 轉載于:https://www.cnblogs.com/yoyo-524/p/6502827.html

day01_初識python

編譯型&#xff1a;一次性將所有的代碼編譯呈二進制文件。C/C 優點&#xff1a;執行效率高 缺點&#xff1a;開發速度慢&#xff0c;不能跨平臺 解釋型&#xff1a;當程序運行時&#xff0c;從上到下一行一行的解釋為二進制文件 優點&#xff1a;開發效率快&#xff0c;可以跨平…

leetcode1414. 和為 K 的最少斐波那契數字數目(貪心算法)

給你數字 k &#xff0c;請你返回和為 k 的斐波那契數字的最少數目&#xff0c;其中&#xff0c;每個斐波那契數字都可以被使用多次。 斐波那契數字定義為&#xff1a; F1 1 F2 1 Fn Fn-1 Fn-2 &#xff0c; 其中 n > 2 。 數據保證對于給定的 k &#xff0c;一定能找…

四五六年級計算機教學計劃,五六年級信息技術教學計劃

五六年級信息技術教學計劃一、大綱對本冊教材的要求作為小學階段的信息技術課程&#xff0c;應以學生對計算機的學習心理、學習行為和學習方法為背景&#xff0c;把計算機基礎知識和計算機最新應用融于一體&#xff0c;使之既體現信息技術學科的教學理論&#xff0c;又吸收現代…

ios 跨域_如何在iOS和Android中建立跨域通信橋

ios 跨域I was working on a certain project at work, in which I needed to connect several varying components via messages. Each had its own logic and code language. This made me want to understand all the ways different platforms enable communication.我正在…

阿里巴巴旗下平臺口碑推出無人收銀技術,改造便利店市場;重慶法院運用 AI 探索“智能判案”...

阿里巴巴旗下平臺口碑推出無人收銀技術&#xff0c;改造便利店市場 雷鋒網消息 阿里巴巴旗下本地生活服務平臺口碑今日宣布在上海新興便利店品牌24鮮上線無人收銀技術。消費者只要打開支付寶&#xff0c;掃一掃想要購買的商品的條形碼&#xff0c;就可以自助提交訂單完成支付。…

如何使用射手影音尋找字幕

我們以"理智與情感"Sense and Sensibility為例&#xff0c;在迅雷搜索了下載&#xff0c;結果到了99%就不動了&#xff0c;由于是字幕文件&#xff0c;不能直接把TD的后綴去掉看影片&#xff0c;但是影片已經下載完成&#xff0c;所以我們使用射手影音播放該電影。&a…

mysql 表分區優缺點_Mysql分區表局限性總結

本文測試的版本XML/HTML代碼mysql>select version();------------| version() |------------| 5.1.33-log |------------1 row in set (0.00 sec)一、關于Partitioning Keys, Primary Keys, and UniqueKeys的限制在5.1中分區表對唯一約束有明確的規定&#xff0c;每一個唯一…

C# PagedList 真分頁

一&#xff1a;nuget 下載 PagedList 二&#xff1a;前端頁面 1.需要的數據 model PagedList.IPagedList<DeviceModel>  using PagedList.Mvc 2.使用數據 foreach (var item in Model)   {    <tr> <td>item.Name</td>       <td>…

leetcode1497. 檢查數組對是否可以被 k 整除

給你一個整數數組 arr 和一個整數 k &#xff0c;其中數組長度是偶數&#xff0c;值為 n 。 現在需要把數組恰好分成 n / 2 對&#xff0c;以使每對數字的和都能夠被 k 整除。 如果存在這樣的分法&#xff0c;請返回 True &#xff1b;否則&#xff0c;返回 False 。 示例 1…

計算機頁面設置代碼,計算機二級考試Access輔導:頁面設置模塊代碼分享

Dim up, dn, le, ri, si, liAs Single , co As string’定義邊距及頁面函數Sub ymszmk(strName As String) ’頁面設置模塊On Error GoTo Err_ymszmkIf Nz(DCount("*", "REPORTLIP", "REPORT’" & strName & "’")) 0 ThenMs…

讓我們了解Set及其在JavaScript中的獨特功能

by Asif Norzai通過Asif Norzai 讓我們了解Set及其在JavaScript中的獨特功能&#x1f3b2; (Lets learn about Set and its unique functionality in JavaScript &#x1f3b2;) 設置&#x1f3b2; (SET &#x1f3b2;) ES2015/ES6 gave us a lot of useful tools and feature…