《Spring环境下的敏捷ORM框架设计与实现》论文笔记
《Spring环境下的敏捷ORM框架设计与实现》论文笔记
一、基本信息
-
标题:Spring环境下的敏捷ORM框架设计与实现
-
来源:江西财经大学软件与物联网工程学院
-
关键字::Spring;开发效率;数据库;ORM
二、研究内容
- 通用SQL 模块实现原理
- Java 反射机制根据一个实例引用解析类的属性和方法,也可新建一个实例。工厂模式可让设计者自行获取产品并规范产品种类,抽象产品,进而保证工厂模式的统一性。合理的单例模式能减少对象的创建次数,减少内存消耗,提高复用性。本模块根据参数类型,使用工厂类SQLGen 生成单例的SQLBeanBuilder 或SQLTextBuilder 类,之后根据生成的单例类中的方法,通过反射参数中的类名、属性名、方法等关键信息,生成所需要的SQL文本。
- Java 反射机制根据一个实例引用解析类的属性和方法,也可新建一个实例。工厂模式可让设计者自行获取产品并规范产品种类,抽象产品,进而保证工厂模式的统一性。合理的单例模式能减少对象的创建次数,减少内存消耗,提高复用性。本模块根据参数类型,使用工厂类SQLGen 生成单例的SQLBeanBuilder 或SQLTextBuilder 类,之后根据生成的单例类中的方法,通过反射参数中的类名、属性名、方法等关键信息,生成所需要的SQL文本。
- 通用CRUD 模块实现原理
- 基于Spring框架结构,依赖注入(dependency Injection,DI)可为任意的Java对象动态提供所需及生成相对应的实例。本模块依赖Spring 环境下的IOC 模式,通过模块中的DaoFactory 工厂类实现InitializingBean 接口,把工厂类中DataSourceMap提供给Spring进行属性注入,之后通过访问defaultDao 等属性访问方法。
- 基于Spring框架结构,依赖注入(dependency Injection,DI)可为任意的Java对象动态提供所需及生成相对应的实例。本模块依赖Spring 环境下的IOC 模式,通过模块中的DaoFactory 工厂类实现InitializingBean 接口,把工厂类中DataSourceMap提供给Spring进行属性注入,之后通过访问defaultDao 等属性访问方法。
- 快速CRUD 方法模块实现原理
- 代理模式尤其是Java的动态代理模式使软件开发人员无须定义代理类,只需指定一组接口及被代理类的对象便可动态获得代理类。Java的动态代理由Proxy类和InvocationHandler接口实现。Proxy 类提供了创建动态代理的类及其实例的静态方法。运行过程中Java通过调用动态处理类的bind方法完成被代理类绑定,可无限制地调用被代理类的方法。本模块依赖Spring 环境下基于JDK 的动态代理方式,通过RepositoryProxyFactory 实InvocationHandler 接口功能,同时使用RepositoryRegistry 类BeanDefinitionRegistry-PostProcessor接口实现对代理类的注册。
- 代理模式尤其是Java的动态代理模式使软件开发人员无须定义代理类,只需指定一组接口及被代理类的对象便可动态获得代理类。Java的动态代理由Proxy类和InvocationHandler接口实现。Proxy 类提供了创建动态代理的类及其实例的静态方法。运行过程中Java通过调用动态处理类的bind方法完成被代理类绑定,可无限制地调用被代理类的方法。本模块依赖Spring 环境下基于JDK 的动态代理方式,通过RepositoryProxyFactory 实InvocationHandler 接口功能,同时使用RepositoryRegistry 类BeanDefinitionRegistry-PostProcessor接口实现对代理类的注册。
三、结论
- ORM 框架名称为template-module-orm,包含通用SQL快速生成模块(template-module-sql)、多模式数据库通用CRUD模块(template-module-jpa)、数据表格分页查询模块(template-module-pagination)以及快速CRUD 方法4 个模块(template-module-repository),每个模块对应处理不同内容,通过4个模块的合作达到对DAL层的高效开发。
四、参考文献
- [1]伍文彬.Spring环境下的敏捷ORM框架设计与实现[J].软件导刊,2019,18(5):134-136. DOI:10.11907/rjdk.191289.