<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      spring筆記6 spring IOC的中級知識

      1,spring ioc的整體流程,xml配置

       

      spring ioc初始化的流程結合上圖
      步驟編號 完成的工作
      1 spring容器讀取配置文件,解析稱注冊表
      2 根據注冊表,找到相應的bean實現類實例化bean
      3 把實例化之后的bean放到spring容器中
      4 spring開放準備好的bean供程序使用

       

      配置方法:

      常見的自定義命名空間:

      增加自定義的命名空間很easy,如果所示,獨家秘籍····

       

      spring的常見的自定義命名空間
      簡稱 說明
      beans 配置bean
      aop aop的配置
      tx 聲明式事物
      mvc mvc的配置
      util 簡化某些標準配置
      jee java EE的EJB,jndi
      jdbc 配置數據庫提供的schema
      jms jms配置
      lang 支持Jruby,Groovy的配置
      oxm xml映射的配置
      task 任務調度的配置
      tool 有用工具定義的配置

       

       

      2,依賴注入,注入參數,方法注入

       一般配置bean指定id,name不推薦使用;

      依賴注入主要有兩種,即屬性注入和構造函數注入,工廠方法注入,具體選擇視實際情況來;

      屬性注入:在xml中的bean節點中,通過<property name="xxx" value="xxx"/> 屬性設置方法的前兩個字符要全部大寫或者小寫;

      構造函數注入:在xml中的bean節點中,通過<constructor-arg index="n" type="XXX" value="XXX"/>,對于構造函數的循環依賴,把其中一個改造成屬性注入即可解決;

      工廠方法注入:通過屬性 factory-bean factory-method指定

       

      注入參數:

      字面值直接使用<value>來指定,特殊字符&xxx;來解決;比如大于 &lt; 小于 &gt; 連字符 &amp; 單引號 &apos;雙引號   &quot;

      引用<ref bean="xxx"/> 引用存在于本配置文件或者父配置文件中;

      內部引用可直接定義bean

      特殊的null值通過<null>來指定

      支持級聯的屬性賦值;

      集合類型支持到List,Set,Map,Properties

      強類型同map

      集合還可通過 merge 屬性指定合并,可通過util命名空間來簡化集合配置,使用p空間來簡化屬性配置;

       

      自動裝配:在bean中指定 autowire 類型可以是 byName,byType,constructor,autodetect,不推薦自動裝配

       

      方法注入:

      lookup,一般用在單例的屬性是原型的實例,視情況需要是否引入CGLib依賴

      <replace-method  name="方法名" replacer="替換接口實現類"> 可以替換方法,接口是MethodReplacer;

       

       3,bean之間的關系

       

      bean之間的關系分三類,分別是繼承,依賴,引用

      繼承通過在父bean中加個 abstract屬性,子bean中加一個parent屬性;

      依賴通過增加屬性 depends-on="xxx"

      引用通過<idref bean="xxx">

       

      4,整合配置文件,bean的作用域,FactoryBean

       

      通過在主配置文件中增加<import resource="classpath:XXXX"/> 來整合

       

      bean的作用域,如果是web應用,除了singleton和prototype之外還有request,session,globalSession

       

      singleton是單例無狀態的,spring的dao都可以采用單例的模式,spring放在了容器的緩存池里面;

      prototype每次都會實例化一個對象;

      要在web環境下使用其它的三種作用域,需要在web.xml中配置一個RequestContextListener;

      如果單例的或者原型的實例依賴web作用域的某個實例,在web作用的bean里面增加<aop:scoped-proxy/>

       

      如果實例化比較復雜,可以使用FactoryBean來定義實例;

       

      5,基于注解的配置

       

      四類注解來標識bean

      @Component 標識一般的bean

      @Repository 標識dao

      @Service       標識service

      @Controller   標識控制層

       

      配置掃描:<context:compnent-scan base-package="xxx" resource-patter="xxx"> 它的過濾方式有多種,annotation,assignable,aspectj,regex,custom;

       

      自動注入:

      @Autowired 有required屬性標識缺失是否報錯,Qualifier標識名稱;可對屬性和方法進行標注;

      其它的比如:@Inject @Resource功能一樣,但是功能沒它強大,可忽略;

       

      生命周期的支持:通過@PostConstruct 來定義init-method ,通過@PreDestroy來定義 destroy-method

       

      @Scope來定義作用域

      @Value來引用其它的bean的屬性

      @Lazyl來定義是否延遲加載

       

      6,基于java類的配置

       這里省略,用的不多;

      7,小結

      最常用的是采用xml配置第三方的bean工具,本應用開發采用注解來配置;

       

       

      posted @ 2013-11-20 17:52  李福春  閱讀(681)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲激情在线一区二区三区| 亚洲一区二区av高清| 国产精品毛片一区二区 | 国产情侣激情在线对白| 精品国产综合一区二区三区| 欧美高清精品一区二区 | 日本中文字幕有码在线视频| 日韩中文字幕在线不卡一区| 777米奇影视第四色| 最近中文字幕完整版hd| 青春草公开在线视频日韩| 亚洲理论在线A中文字幕| 无码高潮爽到爆的喷水视频app| 久热中文字幕在线精品观| 2022最新国产在线不卡a| 久久高清超碰AV热热久久| 亚洲av成人无网码天堂| 亚洲天堂在线观看完整版| 精品无码久久久久久尤物| 亚洲国产精品视频一二区| 人妻系列无码专区久久五月天| 最新精品露脸国产在线| 国产精品高清一区二区三区| 在线成人国产天堂精品av| 国产精品久久久久久久专区| 亚洲中文字幕一区二区| 国产精品久久中文字幕| 依依成人精品视频在线观看| 中文字幕第一页国产精品| 中文字幕一区二区三区四区五区| 亚洲男人第一无码av网| 亚洲午夜精品久久久久久抢| 激情亚洲内射一区二区三区| 午夜在线不卡| 久久精品人人槡人妻人人玩av| 67194熟妇在线直接进入| 国产精品国产精品偷麻豆| 99久久99这里只有免费费精品| 亚洲一二三区精品美妇| 日韩精品一卡二卡三卡在线| 亚洲中文字幕第一页在线|