1. 程式人生 > >Spring學習1--基本概念

Spring學習1--基本概念

為什麼要用Spring?
Spring的本質是管理軟體中的物件,如何建立物件和維護物件之間的關係。
什麼是IOC?
指程式中獲取物件的方式發生了反轉,由最初的new方式建立,轉變為由第三方框架建立。
什麼是Bean?
就是一種規範並且簡單的java物件。

當需要管理javaBean物件的時候就要用Spring,Spring是最簡潔的物件管理方案

容器和Bean管理

1.Spring容器的例項化:

    //載入src下的applicationContext.xml檔案對容器例項化
    String conf = "applicationContext.xml"
; ApplicationContext ac = new ClassPathXmlApplicationContext(conf);

2.Bean的例項化(3種方式):

將物件的建立規則告訴Spring,Spring會幫我們建立物件

  1. 用構造器來例項化

        <!--applicationContext.xml配置:-->  
    <bean id="指定Bean名稱" class="指定Bean的型別"></bean>  
    

    這種方法會自動呼叫無參構造器建立物件,因此該實體類必須有無參構造器
    java程式碼:

        public
void instanceSpring(){ //載入spring配置檔案 String conf = "applicationContext.xml"; ApplicationContext ac = new ClassPathXmlApplicationContext(conf) //呼叫getBean方法取得被例項化的物件。 指定Bean的型別 例項名 = (指定Bean的型別) ac.getBean("指定Bean名稱"); }
  1. 使用靜態工廠方法例項化
  2. 使用例項工廠方法例項化
    2,3的連結在下面

3.Bean的 作用域和銷燬方法

作用域:

  • singleton
    容器中只會存在一個共享的bean例項,並且所有對bean的請求,只要id與該bean定義相匹配,則只會返回bean的同一例項。
  • prototype
    Prototype作用域的bean會導致在每次對該bean請求(將其注入到另一個bean中,或者以程式的方式呼叫容器的getBean()方法)時都會建立一個新的bean例項。
  • request
    即每次HTTP請求將會有各自的bean例項, 它們依據某個bean定義建立而成。該作用域僅在基於web的Spring ApplicationContext情形下有效。
  • session
    在一個HTTP Session中,一個bean定義對應一個例項。該作用域僅在基於web有效。
  • global Session
    在一個全域性的HTTP Session中,一個bean定義對應一個例項。

銷燬方法:
在bean中可以指定銷燬方法:

<bean id="test" destory-method="destory">

這樣Spring會自動尋找test類中的destory方法

4.Bean的延遲例項化:

ApplicationContext實現的額預設模式是在啟動時將所有的singleton Bean提前進行例項化,如果不想讓一個singleton Bean提前例項化可以用如下方法:

<bean id="exampleBean" lazy-init="true" class="com.test" />

5.指定Bean的依賴關係:

<bean id="beanOne" class="ExampleBean" depends-on="beadTwo,beanThree,..." />
<bean id="beanTwo" class="SecondBean" />
<bean id="beanThree" class="ThreeBean" />

相關推薦

Spring學習1--基本概念

為什麼要用Spring? Spring的本質是管理軟體中的物件,如何建立物件和維護物件之間的關係。 什麼是IOC? 指程式中獲取物件的方式發生了反轉,由最初的new方式建立,轉變為由第三方框架建立。 什麼是Bean? 就是一種規範並且簡單的java物件

機器學習-1 基本概念

好的 bsp 基本概念 概念 代數 標記 產生 nbsp res 一、訓練集和測試集   訓練集(training set/data)/訓練樣例(training examples):用來進行訓練,也就是產生模型或者算法的數據集。   測試集(testing set/dat

TCP/IP詳解學習筆記(1)-基本概念【轉】

網絡號 最大的 net 容易 學習 ip地址 其他 title 編寫 轉自:http://blog.csdn.net/goodboy1881/article/details/665041 為什麽會有TCP/IP協議 在世界上各地,各種各樣的電腦運行著各自不同的操作系統為大家

無線通信學習筆記1---基本概念

設備 cap 比特流 獨立 擴大 多條 嵌入 解調 不同的 該篇將開始學習無線通信時遇到的一些基本概念羅列出來,避免混淆和忘記,算是為後續進階學習打基礎吧! 1、信道:信道可分為有線信道和無線信道兩大類。前者包括明線、對稱電纜、同軸電纜和光纜,後者包括地波傳播、短波電離層發

Spring學習1Spring基本特性

情況下 jakarta .get 開源框架 ext.get work jar 就會 spa http://longliqiang88.github.io/2015/08/14/Spring%E5%AD%A6%E4%B9%A01%EF%BC%9ASpring%E5%9F%BA

網路原理學習筆記--基本概念1

學習網路原理過程中必須熟知的一些最基本的概念,理解這些概念對於學習訊號傳輸、各種網路協議等都很有幫助 1) 模擬訊號:就是連續變化的訊號。例如,當我們說話時,聲音大小是連續變化的,因此運送話音資訊的聲波就是模擬資料, 電話線上的話音訊號是模擬訊號。 2)

機器學習筆記1-基本概念

機器學習筆記1-基本概念 機器學習主要包括監督學習、非監督學習、半監督學習和強化學習等。實現方法包括模型、策略、演算法三個要素。 模型。在監督學習中,模型就是所要學習的條件概率分佈或決策函式。 策略。策略考慮的是按照什麼樣的準則學習或選擇最優的模型,即選擇損失函式。為了

Storm學習(1)——基本概念和工作原理

一、基本概念 1.相較於hadoop的優勢         相對於hadoop而言,strom的優勢在於對於應對大資料兩的實時資料處理上,因為hadoop在處理大資料過程中高延時的特點使得其面對實時資料缺乏足夠的應對策略,目前strom已經被廣泛的應用在諸如金融系統,實時

TCP/IP詳解學習筆記(1)-基本概念

為什麼會有TCP/IP協議 在世界上各地,各種各樣的電腦執行著各自不同的作業系統為大家服務,這些電腦在表達同一種資訊的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作一樣。計算機使用者意識到,計算機只是單兵作戰並不會發揮太大的作用。只有把它們聯合

(1)機器學習基本概念[更新]

label 速度 大量 font 技術 數據集 mil idt 特征 1.傳統算法與機器學習的區別 機器學習:讓機器去學習 傳統算法:讓機器去執行 2.人類學習的過程 人類的學習過程是一個典型的經驗學習的過程。 3.機器學習的過程 機器學習的過程和人類

javascript跳躍式前進(1) - 基本概念

else 依次 次循環 下一步 spl 減少 title bre args 前言 javascript 是弱類型語言,比較接近python和perl這類,不如java和c那樣嚴格.所以寫慣了強類型語言的小夥伴看到有些另類的寫法也相當正常; 有些東東不

oc學習1——基本數據類型

.com block 技術 eight bsp height com width 面向   OC是在C語言的基礎上進行擴展的一種面向對象的編程語言。很多基礎知識都和C語言中的非常類似。首先介紹一下OC中的基本數據類型,整體框架如下圖: oc學習1——基本數據類型

Spring 學習1

ron 9.png 畫圖 attribute 調用 app 建議 jdb tom Srping概念 1.Spring是開源的輕量級框架 2.Srping核心兩部分: (1)aop:面向切面編程,擴展功能不是修改源代碼實現 (2)ioc:控制反轉 -比如有一個類,在類裏面有方

【C++復習】1.1基本概念

using arr 消息 開始 函數返回 執行函數 c++程序 不能 定義 1、C++對大小寫敏感; 2、查看運行結果 cin.get(); cin.get(); 使用兩行代碼使程序運行後暫停,而不是立即結束,出現閃退效果。 第一條cin.get()語句是在輸入並按En

JVM基礎學習基本概念、可見性與同步

讀寫 應用 資源 而不是 檢查 依靠 完成 層次 並發 開發高性能並發應用不是一件容易的事情。這類應用的例子包括高性能Web服務器、遊戲服務器和搜索引擎爬蟲等。這樣的應用可能需要同時處理成千上萬個請求。對於這樣的應用,一般采用多線程或事件驅動的 架構 。對於Java來說,在

Structured Streaming教程(1) —— 基本概念與使用

repr 開放 let 結果 可靠 技術分享 lines ole sock 近年來,大數據的計算引擎越來越受到關註,spark作為最受歡迎的大數據計算框架,也在不斷的學習和完善中。在Spark2.x中,新開放了一個基於DataFrame的無下限的流式處理組件——Struc

spring學習11.基於註解的bean

成了 返回值 ins location for onf 默認 san Coding <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/sch

資料結構(C語言版)讀書筆記1(基本概念和術語)

資料: 所有輸入到計算機中,並被計算機程式處理的符號的總稱。 資料元素: 資料的基本單位,在計算機程式中經常被當做一個整體進行考慮和處理 資料物件: 性質相同的資料元素的集合,是資料的一個子集。 資料結構: 相互之間存在一種或多種特定關係的資料元素的集合。這種資料元素之間

[仁潤雲技術團隊]併發程式設計-(1)基本概念

程序:一個正在執行程式的例項,包括程式計數器,暫存器以及變數的當前值。在作業系統中,每一個程序都有其地址空間和控制執行緒。 地址空間:要保證多個應用程式同時處於記憶體中並且不互相影響,則需要解決兩個問題:保護和重定位。目前的辦法是創造一個新的記憶體抽象:地址空間。就像程序的概念創造了一類抽象的CPU以

區塊鏈開發(1)基本概念

最近一直沒更新部落格了,一方面是在技術轉型,遊戲行業的不景氣,不再將重心放在遊戲開發了,一方面也是在積累與學習中(懶惰),缺乏動力。希望通過這次能堅持下去:)。言歸正傳,來記錄和總結下自己在區塊鏈開發方面的經驗。 區塊鏈的發展由第一代比特幣區塊鏈,到第二代以太坊智慧合約的區塊鏈技術,再到現在第三代基於石墨烯