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

結(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è)
亚洲风情亚av在线播放| 夫妻的世界电影完整版| 久久精品国产亚洲av麻豆她| 国产成人原创免费观看| 亚洲av网站女性向在线观看| 国产女人和拘做受视频| 日韩欧美亚洲一级黄片| 久久久之久亚州精品露出| 亚洲av成人在线播放| 亚洲一区二区偷拍精品| 手机在线看国产后入| 九九九视频在线观看免费| 综合激情四射亚洲激情| 久久国产精品一品二品| 亚洲av男人天堂一区| 九九热99这里有精品| 国产粉嫩一区二区三区在线观看| 青草草在线观看视频| 日韩熟女av中文字幕| 国产精品伦一区二区视频| 亚洲国产视频中文字幕| 懂色一区二区三区精品视频| 99亚洲综合一区二区三区| 亚洲一区二区三区蜜桃av| 亚洲全乱码精品一区二区| 亚洲少妇熟女一区二区三区| 亚洲香蕉在线视频免费| 欧美一区二区精品网站| 日韩精品高清不卡一区二区三区| 未满18禁止观看在线| 蜜桃视频中文字幕二区三区 | 国产黄色片网站在线观看| 亚洲综合av一区二区| 国产三级精品在线免费| 国产免费一区二区福利| 日本高清有码中文字幕| 日韩天堂视频在线播放| 国产真实乱偷精品视频免| 激情亚洲不卡一区二区| 精品人妻二区中文字幕| 久久精品人妻麻豆尤物|