反射
Class類 管理和表示類的信息
獲取類的信息
類名.class
對象.getclass();
class.forName(“java.lang.String”);包名加類名 常用
前兩種都會固定到程序中误辑,第三種只需要傳入任意的字符串
創(chuàng)建類的的對象
獲取到的類信息.newInstance();
上面的newInstance調(diào)用的是一個空的構(gòu)造函數(shù) 如果重載構(gòu)造函數(shù)注意參數(shù)
Class三種的方法
都有g(shù)etName方法獲取項目的名稱
Filed
getType方法
Method
返回類型參數(shù)
返回修飾符
Constructor
返回類型參數(shù)
返回修飾符
通過反射設(shè)置域中的值
getDeclaredFileds()獲取所有的域
getDeclaredMethods()獲取所有的方法
強(qiáng)制讀寫某個屬性值:
setAccessible(true);設(shè)置屬性可以訪問沧踏,private 性質(zhì)的
1
框架中的使用
spring項目
spring ioc
由反射實現(xiàn)的
sevlert項目
沒有new去創(chuàng)建對象,都是通過反射創(chuàng)建的
啟動流程
tomcat 只能執(zhí)行sevlert程序
加入最頂部的標(biāo)簽注解 原理是一樣
啟動之后掃描所有的文件 有注解則創(chuàng)建對象
會定位到對應(yīng)的
請求打入 分發(fā)不同的sevlert 根據(jù)地址查看對應(yīng)的方法
web.xml配置項目 根據(jù)配置的文件去加載對應(yīng)的sevlert
使用select name 別名
class 對應(yīng)的類