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