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
在应用初始化的时候进行装载