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

結(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://www.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è)
精品人妻区二区三区蜜桃| 国产av毛片一区二区| 久久综合给合综合久久| 国产免费观看久久黄av片涩av| 少妇欧美日韩精品在线观看| 欧美日韩国产在线91| 精品国产一区av在线| 日韩欧美亚洲另类激情一区| 丰满人妻少妇精品一区二区三区| 大神厕所偷拍美女尿尿| 国产av无毛一区二区三区| 色哟哟网站一区二区精品久久| 亚洲精品成人福利网站| 人妻少妇被猛烈进入文字幕| 国产三级国产剧情国产av| 亚洲国产成人精品福利| 欧美一区二区三区久久妇| 伊人青草免费在线视频| 朋友的尤物人妻中文字幕| 亚洲av成人av天堂| 国产女片xb内射在线| 成人夜间视频在线观看| 丝袜美腿美女日韩在线| 免费搜索国产男女视频| 国产成人综合亚洲乱淫.| 午夜影院在线观看网站| 亚洲精品中文字幕日本乱码| 中文字幕伦理一区二区三区| 国产一区二区主播不卡| av天堂男人站在线观看| 亚洲av天堂在线观看| 综合激情四射亚洲激情| 欧美日韩专区一区二区三区| 日韩人妻中文字幕在线视频| 亚洲一区二区三区日本久久| 亚洲精品aa片在线观看国产 | 超碰91人人在线青青草| 久久一区二区三区播放| 青青操国产在线自偷自拍| 视频一区二区三区拍拍| 熟女熟妇乱女乱妇综合网|