Spring之bean定義

Spring以IoC、AOP為主要思想,其中IoC,Inversion of Control 指控制反轉(zhuǎn)或反向控制。在Spring框架中我們通過(guò)配置創(chuàng)建類對(duì)象,由Spring在運(yùn)行階段實(shí)例化、組裝對(duì)象。AOP,Aspect Oriented Programming,面向切面編程,其思想是在執(zhí)行某些代碼前執(zhí)行另外的代碼,使程序更靈活、擴(kuò)展性更好,可以隨便地添加、刪除某些功能。Servlet中的Filter便是一種AOP思想的實(shí)現(xiàn)。

Bean標(biāo)簽的常用屬性

(1)id屬性:用于指定配置對(duì)象的名稱,不能包含特殊符號(hào)。
(2)class屬性:創(chuàng)建對(duì)象所在類的全路徑。
(3)name屬性:功能同id屬性一致。但是在name屬性值中可以包含特殊符號(hào)。
(4)scope屬性
    singleton:默認(rèn)值,單例
    單例模式下,在程序下只有一個(gè)實(shí)例。非單態(tài)模式下,每次請(qǐng)求該Bean,都會(huì)生成一個(gè)新的對(duì)象。
    prototype:多例
    request:創(chuàng)建對(duì)象后將對(duì)象存放到request域
    session:創(chuàng)建對(duì)象后將對(duì)象存放到session域
    globalSession:創(chuàng)建對(duì)象后將對(duì)象存放到globalSession域
init-method="init" 始化調(diào)用了init方法
destroy-method="destroy" 銷毀時(shí)調(diào)用了init方法

spring Bean的作用域:scope="singleton"(默認(rèn),單例,生成一個(gè)實(shí)例)
單例模式,默認(rèn)在程序初始化的時(shí)候?qū)嵗?lazy-init=”false”)
spring Bean的作用域:scope="prototype"(多線程, 生成多個(gè)實(shí)例)
prototype:getBean的時(shí)候才是實(shí)例化
lazy-init 只對(duì)單例模式起作用,對(duì)prototype不起作用(因?yàn)閜rototype默認(rèn)就不是程序初始化的時(shí)候?qū)嵗模?
<bean id="gardenerClient" class="com.minipay.gamesdk.standalone.service.GardenerClientService"  init-method="init" scope="singleton">
     <property name="mainBusinessId" value="3"/>
     <property name="gardenerConfigService" ref="gardenerConfigService"></property>
     </bean>
------------------------------------------------------------------------------
name是指GardenerClientService類中的參數(shù),也既GardenerClientService類中有一個(gè)屬性名叫mainBusinessId的屬性,而value是為這個(gè)屬性名為mainBusinessId的指定值,把它當(dāng)作參數(shù)傳進(jìn)GardenerClientService中

name是指GardenerClientService類中的參數(shù),也既GardenerClientService類中有一個(gè)GardenerConfigService類型名叫g(shù)ardenerConfigService的對(duì)象,而ref是當(dāng)前xml文件中叫做gardenerConfigService的這個(gè)bean,把它當(dāng)作參數(shù)傳進(jìn)GardenerConfigService中

--------------------------------------------------------------------------
ref屬性:查找當(dāng)前配置文件里的bean

ref標(biāo)簽有3種屬性
<ref bean=""/>  :查找全局中的bean。即可以查找其他xml配置文件的bean,優(yōu)先從當(dāng)前配置文件尋找
<ref local=""/>   :查找當(dāng)前配置文件中bean,等同于ref屬性。local屬性值必須同目標(biāo)bean的id屬性值相同
<ref parent=""/>:指定其依賴的父JavaBean定義
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 說(shuō)明:本文主要內(nèi)容來(lái)自慕課網(wǎng)。配合視頻食用口味更佳。主要是順著已經(jīng)學(xué)習(xí)的視頻順序總結(jié)一遍,以深化理解和方便日后復(fù)習(xí)...
    stoneyang94閱讀 913評(píng)論 3 5
  • 文章作者:Tyan博客:noahsnail.com 2.Introduction to the Spring Fr...
    SnailTyan閱讀 5,543評(píng)論 7 56
  • spring源碼分析(一) 目錄一、Spring概述二、一切從Bean開(kāi)始--2.1、Spring設(shè)計(jì)伊始--2....
    毛子果閱讀 413評(píng)論 1 0
  • 跑出來(lái)的簡(jiǎn)舒甜,第一個(gè)想法就是找和自己在一起3年的穆瀝晨,只有一個(gè)想法,就是帶她走,哪都好,她不要再待在這里了 早...
    潘胖兒閱讀 703評(píng)論 0 0
  • |必然停止 在四月的清晨醒來(lái) 陽(yáng)光比昨日的多了一倍 我靜坐窗前 呼吸 用一杯白開(kāi)水漱口 聽(tīng)不見(jiàn)周邊的任何喧囂 翻出...
    三良張閱讀 317評(píng)論 0 0

友情鏈接更多精彩內(nèi)容