自己動手寫SpringMVC 五

2021-08-21 21:15:17 字數 1065 閱讀 5285

已經分析過dispatcherservlet主要的任務,分為五個任務,任務1:把專案中所有的bean掃瞄,進行維護,我們已經完成,現在第二個任務:根據全類名建立bean例項,並進行維護;

1.如何通過類的資訊,獲得這個類的類型別

class<?>   c1 = class.forname("com.tx.foo");

2.知道乙個類的類型別,可以做什麼?

可以建立該類的物件:   demo = c1.newinstance();

可以獲得該類的所有屬性:field fs = c1.getfields()

可以獲得該類的所有方法:method methods = c1.getmethods();

可以獲得該類的所有構造方法: constructor cs = c1.getconstructors();

3.獲得了以上資訊可以做什麼?

獲得了方法就可以通過這個方法物件,通過   method.invoke(物件,引數列表)  呼叫方法

4.可以通過物件獲得類型別嗎?答案,當然可以

foo f1 = new foo();

c2 = f1.getclass();

5.當然也可以直接通過如下的寫法獲得類型別:

c3 = foo.class;

之所以寫這麼多的反射知識點,是因為,之後的任務中都要大量用到,所以提前預習一下!

任務二,根據全類名建立bean例項,並進行維護;**如下

//根據掃瞄的list類名,進行例項化

private void doinstance()

for(string classname:classnames)else if(clas.isannotationpresent(myservice.class))else

} catch (classnotfoundexception e) catch (instantiationexception e) catch (illegalacces***ception e)

} }

其中維護bean例項,定義了成員變數:

mapbeans = new hashmap();

自己動手寫SpringMVC 四

本文將主要實現dispatcherservlet!之前已經分析過dispatcherservlet主要的任務,分為五個任務,我們從任務一開始開始實現!任務1 把專案中所有的bean掃瞄,進行維護 實現 如下 private void scanpackage string basepackage el...

自己動手寫bootloader

原始出處 作者資訊和本宣告。否則將追究法律責任。為了寫乙個bootloader讓板子跑起來,首先我們要知道bootloader是個什麼東東才行。簡單的說,bootloader就是乙個引導核心啟動的一段小 也就是說當啟動完核心之後,它的使命就已經結束。bootloader生命週期 初始化硬體 設定啟動...

自己動手寫CMS

簡易的cms外掛程式,可供借鑑或者擴充套件 流程 定義內容 分類與組織內容 儲存內容 操作控制內容 定義內容 制定目標 確定需要的內容型別 目標使用者定位 確定目標使用者需要何種技術 分類與組織內容 按內容所屬的邏輯層級關係來劃分 按內容的種類來劃分,比如video text audio等等 儲存內...