beauty_beast

          上善若水 厚德載物

          ???????? 花了兩三天看了相關(guān)文檔,只是初步了解相關(guān)配置,沒有做深入了解,才達(dá)到基本會(huì)使用配置的目的。

          個(gè)人理解:
          ???????? Spring 最基本的的功能是提供通過配置管理任意類,提供了Bean管理容器。這也是Spring最基礎(chǔ),最核心的功能,在Spring框架中,一切皆為Bean,實(shí)際上在我們的日常開發(fā)中,往往更多的是和Bean相關(guān)的開發(fā),并且都是短生命周期,除了一些緩存功能,其他很多重要的功能都是由開源框架完成。
          ??????? 實(shí)現(xiàn)方式也是框架常用的反射機(jī)制,因此使用Spring前提在JVM啟動(dòng)參數(shù)中不能加安全管理配置。
          ??????? Spring中所有的Bean相關(guān)配置均為一個(gè)文件,非常集中,個(gè)人感覺這有利有弊,利大于弊。
          ??????? 統(tǒng)一配置比較方便集中,我最近的項(xiàng)目就是有很多子系統(tǒng),除了一些公用的配置文件,還有很多子系統(tǒng)的配置文件,每次遷移環(huán)境是非常累的事,如果只有一個(gè)配置文件,那工作就會(huì)輕松多了。
          ??????? 缺點(diǎn)也就在于很集中,如果配置有誤,整個(gè)系統(tǒng)不可用,這種情況往往發(fā)生在系統(tǒng)升級(jí)階段,也比較少,即使出現(xiàn)問題也比較好定位。
          ?????????Spring提供了Bean管理容器,這個(gè)功能可以大大簡化業(yè)務(wù)系統(tǒng)的配置開發(fā)工作。
          ???????? 個(gè)人感覺將來的開發(fā)工作更多的是配置,編寫業(yè)務(wù)相關(guān)的Bean以及業(yè)務(wù)方法,其他功能均會(huì)有很多優(yōu)秀的開源框架實(shí)現(xiàn),重要的工作是選擇符合項(xiàng)目的框架、熟悉框架,最重要的還是苦修內(nèi)功,深入學(xué)習(xí)java,因?yàn)槿f變不如其中,再說開源不是萬能的,有時(shí)候還是要靠自己的。
          ????????

          學(xué)習(xí)心得
          Spring提供三種創(chuàng)建類實(shí)例方法:
          ??? a、通過構(gòu)造函數(shù),訪問屬性可以是任意
          ??? b、通過對(duì)應(yīng)類的靜態(tài)工廠方法,注意不能是私有的
          ???? c、通過工廠類的實(shí)例工廠方法,是非靜態(tài)的方法

          -、bean節(jié)點(diǎn)相關(guān)主要屬性:
          ???? id/name????????? 實(shí)例名/別名
          ???? class????????????? 必須、類全名
          ???? singleton??????? 是否為單實(shí)例,默認(rèn)為true
          ???? init-method???? 初始化方法
          ???? depends-on??? 指定依賴Bean,實(shí)現(xiàn)在被依賴Bean實(shí)例創(chuàng)建前,對(duì)依賴的一個(gè)或多個(gè)Bean的實(shí)例化,?
          ??????????????????? ????? ?init-method在對(duì)應(yīng)Bean實(shí)例已經(jīng)創(chuàng)建后調(diào)用
          ???? destroy-method?? 釋放回調(diào)方法,常用于資源釋放
          ???? dependency-check 依賴檢查
          ???? parent?????????? 指定父Bean實(shí)例,減少因繼承關(guān)系的重復(fù)配置

          ???? 說明除配置init-method,destory以外,可以在對(duì)應(yīng)Bean中實(shí)現(xiàn)InitializingBean,DisposableBean兩個(gè)接口方法
          ???? Spring容器不負(fù)責(zé)管理非單實(shí)例的Bean

          配置bean事項(xiàng):
          1、注意在通過構(gòu)造器參數(shù)匹配時(shí),必須指定參數(shù)的序號(hào),同時(shí)建議明確說明類型,
          ? <constructor-arg index="0"><value>128</value></constructor-arg>
          ? <constructor-arg index="1"><value>teststring</value></constructor-arg>?
          ? 最好說明相關(guān)參數(shù)類型類型?
          ? <constructor-arg index="0" type="int"><value>128</value></constructor-arg>
          ? <constructor-arg index="1" type="java.lang.String"><value>teststring</value></constructor-arg>?
          ? 可以使用簡化配置
          ? <constructor-arg index="0" type="int"? value="128"/>
          ? <constructor-arg index="1" type="java.lang.String" value="testString"/>
          ???
          2、屬性為空
          ??? <property name="pro1><null/></property>
          3、空串
          ??? <property name="pro1><value></value></property>??

          二、常用elements
          bean | ref | idref | value | null | list | set | map | props

          說明:
          ???? bean????? 創(chuàng)建一個(gè)新的bean實(shí)例
          ???? ref???????? 引用已經(jīng)創(chuàng)建的bean實(shí)例
          ???? value????? 簡單數(shù)據(jù)類型
          ???? null???????? 空指針
          ???? list???????? 創(chuàng)建java.util.ArrayList對(duì)象實(shí)例
          ???? set???????? 創(chuàng)建java.util.LinkedHashSet對(duì)象實(shí)例
          ???? map?????? 創(chuàng)建java.util.LinkedHashMap對(duì)象實(shí)例
          ???? props???? 創(chuàng)建java.util.Properties實(shí)例???

          list,set,map可以多層嵌套配置


          遺留問題:
          idref 配置沒有起作用,類似value配置,測試輸出為字符串對(duì)象,是否配置不正確?

          上述配置范圍基本覆蓋了我們開發(fā)時(shí)的bean使用情況,詳見配置可以參考dtd
          http://www.springframework.org/dtd/spring-beans.dtd


          ApplicationContext 繼承于BeanFactory相關(guān)接口,針對(duì)企業(yè)應(yīng)用級(jí)的,占有內(nèi)存較多
          BeanFactory???? 提供配置框架和基本功能,適用于對(duì)內(nèi)存有限制的相關(guān)應(yīng)用
          功能:
          1、提供消息訪問,ApplicationContext 本身繼承于MessageSource接口,
          ?? ApplicationContext 加載時(shí)查找對(duì)應(yīng)的MessageSource Bean, bean id 必須為messageSource
          ?? Spring框架提供兩個(gè)MessageResource實(shí)現(xiàn):
          ??? org.springframework.context.support.ResourceBundleMessageSource
          ??? org.springframework.context.support.StaticMessageSource
          2、事件傳遞
          3、使用資源

          Feedback

          # re: Spring框架學(xué)習(xí)一----基本配置  回復(fù)  更多評(píng)論   

          2006-05-25 16:46 by sjun
          不錯(cuò),頂一下

          # re: Spring框架學(xué)習(xí)一----基本配置  回復(fù)  更多評(píng)論   

          2006-09-11 18:26 by tt
          ttttttt

          # re: Spring框架學(xué)習(xí)一----基本配置  回復(fù)  更多評(píng)論   

          2006-09-11 18:27 by tt
          rb

          # re: Spring框架學(xué)習(xí)一----基本配置  回復(fù)  更多評(píng)論   

          2007-01-29 10:03 by 123
          d

          # re: Spring框架學(xué)習(xí)一----基本配置  回復(fù)  更多評(píng)論   

          2009-03-11 12:18 by 仙樂
          精華呀。。

          # re: Spring框架學(xué)習(xí)一----基本配置[未登錄]  回復(fù)  更多評(píng)論   

          2011-07-04 11:54 by 江山
          很好啊,支持
          主站蜘蛛池模板: 尼玛县| 科尔| 格尔木市| 高淳县| 郧西县| 皋兰县| 岳阳市| 杂多县| 白山市| 蒙山县| 康定县| 雅安市| 阿克苏市| 庆元县| 遂昌县| 左权县| 北川| 大埔县| 佛学| 开远市| 阳东县| 齐河县| 根河市| 富民县| 林州市| 喀喇沁旗| 宣威市| 舒城县| 富平县| 宁安市| 蕉岭县| 大化| 普宁市| 东乡族自治县| 定西市| 清苑县| 建德市| 寻乌县| 梓潼县| 宜宾县| 桃江县|