原创 Spring學習(六)實例演示Spring的使用

本次我們要編寫一個輸出問候信息的小例子: 當一個人在中國的時候,使用中國話向大家問好。當他去國外旅遊時就需要用英語向大家問好。 首先我們得了解創建一個基於Spring IOC的小程序的具體步驟如下: 1)    建立Spring工程 2

原创 Spring學習(十一)Bean生命週期介紹

Spring容器中的Bean擁有明確的生命週期,由多個特定的生命階段組成,每個生命階段都允許外界對Bean施加控制。在Spring中,我們從Bean的作用範圍和實例化Bean時所經歷的一系列階段來描述Bean的生命週期: 接下來,我們從B

原创 Spring學習(二十一)Spring自動裝配Bean的屬性

首先我們來看一下以前我們是如何手動裝配一個bean的: 先看一段java程序: public class Customer { private Person person; public void setPerson(

原创 Spring學習(十五)Spring Bean 的5種作用域介紹

Spring Bean 中所說的作用域,在配置文件中即是“scope” 在面向對象程序設計中作用域一般指對象或變量之間的可見範圍。 而在Spring容器中是指其創建的Bean對象相對於其他Bean對象的請求可見範圍。 在Spring 容

原创 Spring學習(七)深入理解Spring IoC容器

IoC:他是Spring容器的內核,AOP、聲明式事務等功能都依賴於此功能,它涉及代碼解耦,設計模式、代碼優化等問題的考量。 接下來使用電影與演員的關係來詳細解釋一下IoC: 我們來使用電影《無間道》中劉德華所飾演的角色劉建明在天台對白

原创 Spring學習(十)BeanFactory VS ApplicationContext

BeanFactory是Spring框架最核心的接口,它提供了高級IoC的配置機制。 ApplicationContext建立在BeanFactory基礎之上,提供了更多面嚮應用的功能,它提供了國際化支持和框架事件體系,更易於創建實際應用

原创 Spring學習(八)Spring IoC容器原理分析

在Spring中,通過IOC可以將實現類、參數信息等配置在其對應的配置文件中,那麼當需要更改實現類或參數信息時,只需要修改配置文件即可,我們還可以對某對象所需要的其它對象進行注入,這種注入都是在配置文件中做的。 Spring的IOC的實現

原创 JAVA反射機制深入學習(二)實例演示JAVA反射機制的應用

編寫一個簡單示例開始探訪Java反射機制的征程,通過比較傳統方法以及反射機制創建類實例的不同,來介紹Java反射機制的原理 首先創建一個Bean :Car類,擁有兩個構造函數,一個方法以及三個屬性 public class Car {

原创 Spring學習(十三)Spring Bean 的命名方式介紹

一般情況下,在配置一個Bean時需要爲其指定一個id屬性作爲bean的名稱。id在IoC容器中必須是唯一的,此外id的命名需要滿足xml對id的命名規範。        在實際情況中,id命名約束並不會給我們帶來影響。但是如果用戶確實希望

原创 Spring學習(十二)Spring 的配置文件概述

我們應該怎麼理解和認識Spring的配置文件呢?         其實,Spring的配置文件是Spring容器對Bean進行生產以及關係注入的圖紙,他是Spring的基礎。如果我們沒有配置文件的話,則Spring的容器將無從談起。  

原创 Spring學習(十六)Spring Bean內容模型介紹

       本次主要介紹Spring Bean的內容模型,通過對內容模型的瞭解使開發者能夠對Spring Bean有一個全局的認識。關於Spring Bean的詳細信息可以參考spring-beans.xsd這個文件。在這裏,我們只介紹

原创 Spring學習(九)資源訪問接口Resource

JDK所提供的訪問資源的類並不能很好的滿足各種底層資源的訪問需求,比如缺少從類路徑或者從web容器的上下文中獲取資源的操作類。因此,Spring設計了一個Resource接口,它爲應用提供了更強大的訪問底層資源的能力。該接口擁有對應不同資

原创 Spring學習(十四)Spring Bean 的3種實例化方法介紹

Spring IoC容器如何實例化Bean呢? 傳統應用程序可以通過new和反射方式進行實例化Bean。而Spring IoC 容器則需要根據Bean定義裏的配置元數據使用反射機制來創建Bean。在Spring IoC 容器中主要有以下

原创 Spring中的循環依賴問題介紹及解決方法

Spring容器能順利的實例化以構造函數注入方式配置的bean有一個前提:即bean構造函數入參引用的對象必須已經準備就緒。 那麼如果兩個bean都採用構造函數注入,並且都通過構造函數入參引用了對方。就會發生類似與線程死鎖的循環依賴問題。

原创 JAVA反射機制深入學習(三)ClassLoader類裝載器介紹

接下來介紹下JAVA中非常重要的一個類ClassLoader(類裝載器) 類裝載器就是尋找類的字節碼文件並構造出類在JVM內部表示的對象組件。主要工作由ClassLoader及其子類負責,ClassLoader是一個重要的Java運行時