step 1
BeanClassWrapper
成員變量:
tableName--String--對應(yīng)的數(shù)據(jù)庫表或視圖名
clazz--Class--實(shí)體類對應(yīng)的Class
fileds--Map<lowercaseFieldName,Field>--屬性名(不區(qū)分大小寫)和屬性的對應(yīng)關(guān)系
methods--Map<methodName,Method>--方法名和方法的對應(yīng)關(guān)系
方法:
-BeanClassWrapper(Class clazz)--constructor
-newInstance()--返回實(shí)體object
-setBeanFieldFromDataSrc(Object bean,Object value,String fieldName)--根據(jù)屬性名為實(shí)體set屬性
-getField---獲取屬性
-getDeclaredField---獲取屬性(包括父類的)
-getMethod---獲取方法
-getDeclaredMethod---獲取方法(包括父類的)
STEP 2
BeanClassConfig
Fields:
Map<String wrapperName,BeanClassWrapper>--通過類名字存儲類信息
Methods
put
get
生命周期?
使用監(jiān)聽器
servletContextLoaderListener
在應(yīng)用初始化的時(shí)候進(jìn)行裝載