Time of Update: 2018-12-05
一:知識點 在Spring IoC容器中配置Bean時,可能擁有一個以上的共用某些公用配置的Bean,比如屬性和<bean>元素中的屬性。你常常需要為多個Bean重複這些配置。 Spring允許你提取公用的Bean配置組成一個父Bean。從父Bean繼承來的Bean稱作子Bean。子Bean從父Bean繼承Bean配置,包括Bean屬性和<bean>元素中的屬性,避免重複配置。子Bean在必要時也可以覆蓋繼承的配置。
Time of Update: 2018-12-05
一、知識點 當你在設定檔中聲明Bean時,實際上定義了Bean建立的一個模板,而不是真正的Bean執行個體。當getBean()方法或者其它Bean的引用請求Bean時,Spring將根據Bean範圍(Scope)決定該返回哪個Bean執行個體。有時候必須為Bean設定正確的範圍而不是使用預設的(singleton)範圍。
Time of Update: 2018-12-05
Spring提供了一個強大的功能-------組件掃描。它能夠利用特定的構造型(stereotype)註解(書上翻譯成典型化註解,不太好),從Classpath中自動地掃描、檢測和執行個體化你的組件。表明一個組件由Spring管理的基本註解是@Component。其它特定的構造性註解包括@Repository, @Service以及@Controller。它們分別表示持久層、服務層和表現層中的組件。 (1)不自動掃描組件
Time of Update: 2018-12-05
一、知識點 工廠Bean(Factory Bean)是作為建立IoC容器中其他Bean的工廠的一個Bean。概念上,工廠Bean與Factory 方法非常類似,但是它是Bean構造期間可被Spring IoC容器識別的Spring專有Bean。 工廠Bean的基本要求是實現FactoryBean介面。為了方便,Spring提供了抽象模板類AbstractFactoryBean供你擴充。工廠Bean主要用於實現架構機制。下面是一些例子:
Time of Update: 2018-12-05
用的是Hibernate3.6+MyEclipse6.0,以下是一個簡單的例子: (1)匯入所要用到的包 antlr-2.7.6.jar,commoms-collections-3.1.jar,dom4j-1.6.1.jar,javassist-3.12.0.GA.jar,jta-1.1.jar,slf4j-api-1.6.1.jar,hibernate3.jar,slf4j-nop-1.6.1.jar,hibernate-jpa-2.0-api-1.0.0.Final.jar,
Time of Update: 2018-12-05
(1)Spring支援多種Bean配置。在這些配置中,XML是最簡單和最自然的。 (2)Spring提供兩種IoC容器實現,Bean工廠和應用程式上下文。基本的實現是Bean工廠,進階的實現是應用程式上下文。除非是資源有限,否則應該儘可能使用應用程式上下文。 (3)Spring支援用setter注入和建構函式注入定義Bean屬性,屬性可以是簡單值、集合或者Bean引用。
Time of Update: 2018-12-05
一、問題 使用基本集合標記定義集合時,不能指定集合的實體類,例如LinkedList、TreeSet或TreeMap,而且,不能通過將集合定義為單獨的Bean,供其他Bean引用。二、解決方案 Spring提供兩個選項來克服基本集合標記不足。選項之一是使用對應的集合工廠Bean,如ListFactoryBean、SetFactoryBean和MapFactoryBean。工廠Bean是用於建立其他Bean的特殊Spring
Time of Update: 2018-12-05
Fedora下開啟網頁慢的原因是Fedora 中的 Firefox 預設開啟了IPv6,這導致Firefox 首先解析 IPv6 地址,解析失敗之後才轉向 IPv4。解決辦法就是禁用IPv6,如下:1.su -c 'echo "install ipv6 /bin/trueblacklist ipv6" > /etc/modprobe.d/blacklist-ipv6.conf'即建立該conf檔案,並寫入兩行。2.su -c 'service ip6tables stop
Time of Update: 2018-12-05
一、知識點 靜態Factory 方法的目的是在靜態方法中封裝對象的建立過程。請求一個對象的客戶只要調用這個方法,不需要瞭解建立的細節。 Spring支援調用一個靜態Factory 方法建立Bean,這個Factory 方法應該在factory-method屬性中指定。 二、程式碼範例 抽象產品類Product/* * Copyright 2013-2015 */package
Time of Update: 2018-12-05
從Spring3.0開始已經去掉了dependency-check屬性,以下是可提供等同的功能的變通方法: (1)僅僅使用建構函式(建構函式注入,而不是setter注入)來確保正確的屬性被設定。 (2)建立由專用的初始化方法實現的setter方法。 (3)當屬性是必需的時候,使用@Required註解建立setter方法。 (4)使用@ Autowired註解驅動的注入,預設情況下,這也意味著所需的屬性。
Time of Update: 2018-12-05
Spring的依賴檢查功能僅能檢查某些類型的所有屬性,不能僅檢查特定的屬性,靈活性不夠。而往往我們只需要檢查特定的屬性是否設定,而不是特定類型的所有屬性。 RequiredAnnotationBeanPostProcessor是一個Spring bean後處理器,它檢查帶有@Required註解的所有Bean屬性是否設定。Bean後處理器是一類特殊的Spring
Time of Update: 2018-12-05
查詢、更新以及投影操作符快速入門查詢和更新操作符:$addToSet$all$and$bit$box$center$centerSphere$comment$each$elemMatch
Time of Update: 2018-12-05
一、知識點 你打算調用一個執行個體Factory 方法在Spring IoC容器中建立一個Bean,目的是在另一個對象執行個體的一個方法中封裝對象的建立過程。請求一個對象的客戶只要調用這個方法,不需要瞭解建立的細節。 Spring支援調用執行個體Factory 方法建立Bean。Bean執行個體在factory-bean屬性中指定,而Factory 方法應該在factory-method屬性中指定。 二、程式碼範例
Time of Update: 2018-12-05
(1)每個Bean都應該提供一個唯一的名稱或id,以及一個完整類名,用來讓IoC容器對其進行執行個體化。對於簡單類型的每個bean屬性(例如String和其他簡單類型),可以為其指定一個<value>元素。Spring會試圖將你指定的值轉換為該屬性的宣告類型。為了通過setter注入配置一個屬性,可使用<property>元素,並在其name屬性中指定屬性名稱。注意:每個<property>要求bean包含對應的一個setter方法。如下:<bean
Time of Update: 2018-12-05
$addToSet $addToSet操作符只有在值沒有存在於數組中時才會向數組中添加一個值。如果值已經存在於數組中, $addToSet將返回,不會修改數組。考慮以下樣本:db.collection.update( { field: value }, { $addToSet: { field: value1 } }
Time of Update: 2018-12-05
一、知識點 為了從靜態欄位中聲明Bean,可以使用內建工廠Bean FieldRetrievingFactoryBean或者Spring 2.X中的<util:constant>標記。二、程式碼範例 首先在Product類中定義兩個產品常量。 public static final Product AAA= new Battery("AAA", 2.5); public static final Product CDRW= new
Time of Update: 2018-12-05
當一個Bean需要訪問另一個Bean時,可以顯示指定引用裝配它。但是,如果你的容器能夠自動裝配Bean,就可以免去手工配置裝配的麻煩。 Spring IoC容器能夠協助你自動裝配Bean。只要在<bean>的autowire屬性中指定自動裝配模式就可以了。以下是Spring 3.X支援的自動裝配模式。 no:不執行自動裝配。必須顯示裝配依賴 byName:對於每個Bean屬性,裝配一個同名的Bean。
Time of Update: 2018-12-05
1、知識點 Spring提供兩種IoC容器實作類別型。基本的一種為Bean Factory(Bean工廠)。更進階的一種為Application Context(應用程式上下文),它是對Bean工廠的相容和擴充。 兩種IoC容器類型的Bean設定檔相同。 應用程式上下文提供比Bean工廠更進階的特性,同時保持基本特性的相容。所以除非是資源有限的應用程式(例如運行於一個小指令碼或者行動裝置上),否則強烈推薦使用應用程式上下文。
Time of Update: 2018-12-05
一、知識點 如果你打算從一個對象屬性或者嵌套屬性(即屬性路徑)在Spring IoC容器中聲明Bean,可以使用內建的工廠Bean PropertyPathFactoryBean或者Spring2.x中的<util:property-path> 標籤。 二、程式碼範例 建立一個ProductRanking類package
Time of Update: 2018-12-05
一、知識點 許多現實世界中的組件在使用之前必須執行某些初始化工作。這些工作包括開啟檔案、開啟網路/資料庫連接、分配記憶體等。在組件的生命週期結束時,也必須要執行相應的銷毀工作。所以你需要在Spring IoC容器中自訂Bean的初始化和銷毀。 除了Bean註冊之外,Spring IoC容器還負責管理Bean的生命週期,並且允許在它們生命週期某個特定時間點執行自訂任務。你的任務應該封裝在回調方法中,由Spring IoC容器在合適的時候調用。