欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

結(jié)合反射說明SpringIOC的實(shí)現(xiàn)原理是怎樣的

本篇文章給大家分享的是有關(guān)結(jié)合反射說明SpringIOC的實(shí)現(xiàn)原理是怎樣的,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、大埔ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的大埔網(wǎng)站制作公司

前面已經(jīng)對(duì)IOC進(jìn)行了說明,也知道了IOC的原理是反射機(jī)制。那么接下來看看如何通過反射機(jī)制說明IOC

看下代碼:

packagecom.sinoair.gtms.controller.web.IOC;

importjavax.annotation.Resource;
importjavax.xml.ws.Service;
importjava.lang.reflect.Field;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

public classMyIOC {
    /**
     *
模擬Spring掃描的注解包
     */
   
private final staticString packageName = "com.albert.AnnotationTest";

    /**
     *
存放注解的bean對(duì)象
     */
   
private staticMap<String,Object> beanMap =newHashMap<String, Object>();
    static{
        try{
            packageToScan();
        } catch(InstantiationExceptione) {
            e.printStackTrace();
        } catch(IllegalAccessExceptione) {
            e.printStackTrace();
        }
    }

    /**
     *
根據(jù)beanName從容器獲取bean對(duì)象
     * @param
beanName
    
* @return
    
*/
   
public staticObject getBean(String beanName){
        Object obj = null;
        obj = beanMap.get(beanName);
        returnobj;
    }

    /**
     *
遍歷包中的注解類
     * @throwsIllegalAccessException
     * @throwsInstantiationException
     */
   
private static voidpackageToScan() throwsInstantiationException,IllegalAccessException{
        List<Class> clsList =ClassByPackage.getClasssFromPackage(packageName);
        //先加載dao
       
for(Class cls : clsList){
            //判斷類是不是有@Respository注解
           
if(cls.isAnnotationPresent(Respository.class)){
                String clsName =AlbertUtil.getBeanName(cls.getName());
                //bean對(duì)象存入map
                
beanMap.put(clsName,cls.newInstance());
            }
        }
        //加載service,同時(shí)對(duì)其中@Resource注解的屬性進(jìn)行賦值
       
for(Class cls : clsList){
            if(cls.isAnnotationPresent(Service.class)){
                String clsName =cls.getName();
                clsName =clsName.substring(clsName.lastIndexOf(".")+1, clsName.length());
                beanMap.put(AlbertUtil.toLowerCaseFirstOne(clsName),cls.newInstance());

                //掃描注解@Resource的屬性并賦值
               
Field[] field = cls.getDeclaredFields();
                for(Field f : field){
                    //判斷屬性是不是有@Resource注解
                   
if(f.isAnnotationPresent(Resource.class)){
                        f.setAccessible(true);
                        f.set(beanMap.get(AlbertUtil.getBeanName(cls.getName())), beanMap.get(f.getName()));
                    }
                }
            }
        }
    }

}

以上就是結(jié)合反射說明SpringIOC的實(shí)現(xiàn)原理是怎樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:結(jié)合反射說明SpringIOC的實(shí)現(xiàn)原理是怎樣的
URL網(wǎng)址:http://aaarwkj.com/article18/igdhdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、App設(shè)計(jì)、做網(wǎng)站、微信公眾號(hào)、網(wǎng)站建設(shè)企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
夫妻性生活黄色录像视频| 日本免费91午夜视频| 高清欧美一区二区三区日本| 麻豆蜜桃精品视频在线观看| 在线观看国产自拍精品| 成人黄网站色大片免费观看| 精品国产一区二区三区精品日韩| 国产精精精精品欧美日韩| 亚洲视频在线的视频在| 久久成人免费在线电影| 亚洲码av一区二区三区| 色综合色综合色综合色综合| 人妻日韩精品综合一二三四| 97热久久精品中文字幕一区| 亚洲精品国产亚洲精品| 青青草原成年人免费看| 国产午夜18久久久| 一区二区三区在线观看美女视频 | 天堂8在线最新版av| 久久久国产精品9999综合| 欧美一区日韩二区在线| 天堂av一区二区三区| 一区二区三区一级黄色| 黄色高清无遮挡在线观看| 97成人在线视频免费播放| 人妻中文字幕在线看粉嫩| 黄色一级日本黄色一级| 一卡二卡三卡四卡日韩| 爱我久久视频网免费视频| 欧美日韩中文国产天堂| 一卡二卡精品在线免费| 人妻中出中文字幕一区二区| 精品国产91久久粉嫩懂色| 男人午夜福利视频在线观看| 手机蜜臀av在线播放| 欧美日韩一区中文字幕| 中文字幕日韩一区二区| 国产高清自拍视频在线一区| 九九视频免费观看5| 天天操天天干夜夜骑| 日韩色欧美色国产精品|