国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

基于nutz框架理解Ioc容器

2019-11-14 15:01:26
字體:
供稿:網(wǎng)友
同樣我們從問題入手去驗證以及去理解Ioc容器都做了哪些事情:
1.nutz是有幾種方式獲取需要容器管理bean的信息?
       第一種是使用json格式的文件進行配置,如:       

       第二種:使用注解@IocBean              

       第三種:使用xml                     略.......
2. 如何那么多的方式如何進行選擇呢?
      我們自己實際的生產(chǎn)環(huán)境的用法是:      一般的依賴關(guān)系都是固定的,在運行的時候基本不變的,我們采用的是注解,      將可能變動的關(guān)系寫到配置文件里。      比如:我們將項目中各個分層之間的service采用的是注解,                  

數(shù)據(jù)庫相關(guān)配置放到配置文件中,                

3.ioc容器是如何確定哪些Bean是容器需要管理的:
   問幾個問題:    a.它是怎么知道哪些文件中配置是需要被容器管理的bean,以及需要掃描哪些類上的@IocBean注解呢??              nutz提供了一個注解(@IocBy)專門用于在主模塊類上指定掃描哪些文件以及注解。              

              有上圖可以知道:              json方式配置的bean的加載器去webconfig/下,以及linux下的兩個路徑下掃描。              注解方式配置的bean加載器將掃描com.uxuexi開頭包下的類。    b.它是如何去掃描除本項目之外的jar包(一般都是自己創(chuàng)建的,不會掃描第三方)呢?              可以在項目啟動的時候,nutz的ioc容器加載完畢之前手動將要容器管理的bean掃描到容器中。            
4. 何時開始創(chuàng)建這些被容器管理的bean?
           nutz在服務(wù)啟動的時候?qū)⑺斜籃IocBean注解的類以及配置在json格式文件中的類信息加載到一個map中。            

           就是上面圈住的那個map,其中key默認是這個類名。           而這個IocObject這個類主要就是記住這個類的信息:          

          就是說在服務(wù)器啟動的時候nutz只是掃描注解和文件將需要被容器管理的bean的信息集中存儲到一個地方中,并沒有真正的創(chuàng)建這些bean的實例。
5.容器什么時候會創(chuàng)建真正bean的實例??
           分兩種種情況:             1.第一種當服務(wù)啟動的時候就需要獲取容器中的bean實例,可以手動獲取容器。                    

              2.第二種是當我們的第一次http請求映射到的那個Module類,nutz會幫你去從ioc容器中取。                     

6.都提供哪些Ioc的注入類型??
          構(gòu)造函數(shù)注入:                     

          屬性注入:                 

7.ioc容器在什么時候銷毀???
       nutz通過將Filter的destroy方法在web容器停止運行的時候會將ioc容器銷毀,        

       NutzLoading類中的方法:       

       就是將緩存中存放map清空。 

 



 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 合江县| 彭水| 安新县| 蒲江县| 应城市| 沂南县| 浦东新区| 景东| 瑞丽市| 兰坪| 六安市| 北川| 芦山县| 普定县| 时尚| 长顺县| 青海省| 三门峡市| 湖北省| 余江县| 南康市| 光山县| 东丽区| 屯昌县| 阿瓦提县| 永城市| 德令哈市| 诸城市| 清远市| 紫阳县| 应用必备| 正镶白旗| 巴林左旗| 青阳县| 永和县| 湾仔区| 阳高县| 南靖县| 通江县| 甘德县| 道孚县|