安全公司报告
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211038440.7 (22)申请日 2022.08.29 (71)申请人 浪潮软件科技有限公司 地址 250100 山东省济南市高新区浪潮路 1036号浪潮科技园 (72)发明人 孙萌 李蒙 王可 胡超 郑亚楠  (74)专利代理 机构 济南信达专利事务所有限公 司 37100 专利代理师 郗艳荣 (51)Int.Cl. G06F 9/445(2018.01) (54)发明名称 一种轻量级AOP框架实现的方法及存 储介质 (57)摘要 本发明特别涉及一种轻量级AOP框架实现的 方法及存储介质。 该轻量级AOP框架实现的方法 及存储介质, 自定义Proxy接口和Proxy  Chain 类, 采用责任链模式实现代理类链式执行; 通过 工厂模式和单例模式自定义ProxyManager 类; 自 定义AbstractProxy类, 采用模板方法模式实现 钩子方法; 自定义TransactionAspect类, 通过 TransactionAspect类, 实现包 括开启事 务、 提交 事务与回滚事务在内的事务特性。 该轻量级AOP 框架实现的方法及存储介质, 在满足AOP框架特 性的同时, 减轻了框架文件包的大小, 从而减轻 了框架应用系统文件包的大小, 提高了框架应用 系统的运行速度及部署的效率。 权利要求书1页 说明书3页 附图1页 CN 115480837 A 2022.12.16 CN 115480837 A 1.一种轻量级AOP框架实现的方法, 其特 征在于: 包括以下步骤: 步骤S1、 自定义Proxy接口和Proxy  Chain类, 采用责任链模式实现代理类链式执 行; 步骤S2、 通过工厂模式和单例模式自定义ProxyMana ger类; 步骤S3、 自定义Abst ractProxy类, 采用模板方法模式实现钩子方法; 步骤S4、 自定义TransactionAspect类, 通过TransactionAspect类, 实现包括开启事 务、 提交事务与回滚 事务在内的事务特性。 2.根据权利 要求1所述的轻量级AOP框架实现的方法, 其特征在于: 所述步骤S1中, 责任 链模式实现代理类链式执行是指使用责任链设计模式, 实现所有代理类通过链式方式逐一 执行。 3.根据权利 要求2所述的轻量级AOP框架实现的方法, 其特征在于: 所述步骤S1中, 使用 责任链设计模式, 将每个Proxy用一根链串联起来, 形成一个Proxy  Chain, 然后调用这个 Proxy Chain, 使其依次调用C hain中的每个Proxy。 4.根据权利 要求3所述的轻量级AOP框架实现的方法, 其特征在于: 所述步骤S2中, 通过 工厂模式和单例模式创建ProxyManager, 通过构造器初始化targetClass目标类和 proxyList代理列表, 并提供createProxy()方法创建代理对象。 5.根据权利 要求4所述的轻量级AOP框架实现的方法, 其特征在于: 所述步骤S3中, 模板 方法模式实现钩子方法是指使用模板方法模式, 实现包括但不 限于begin()、 filter()、 before()、 after()、 er ror()与end()在内的钩子方法。 6.根据权利 要求5所述的轻量级AOP框架实现的方法, 其特征在于: 所述步骤S3中, 通过 模板方法模式实现AbstractProxy抽象类, 并实现Proxy接口, 在接口中定义方法调用模板, 在需要横向拦截的地方定义钩子方法, 将钩子方法延迟到 子类中去实现。 7.根据权利 要求6所述的轻量级AOP框架实现的方法, 其特征在于: 所述步骤S3中, 框架 使用者自定义代理类, 根据自身需求自定义选择需要的钩子并自定义钩子的实现。 8.根据权利 要求7所述的轻量级AOP框架实现的方法, 其特征在于: 所述步骤S4中, 通过 TransactionAspect类实现事务控制的切面, 即通过filter()钩子方法, 过滤出带有 Transaction注解的目标方法进行事务控制; 通过before()钩子方法, 在目标方法执行前 开启事务; 通过after()钩子方法, 在目标方法执行后提交事务; 通过err or()钩子方法, 在 遇到异常时 回滚事务。 9.一种计算机可读存储介质, 其特征在于: 包括存储器和处理器, 所述存储器中存储有 计算机程序, 所述处理器被设置为运行所述计算机程序以执行权利要求1 ‑8所述的轻量级 AOP框架实现的方法。权 利 要 求 书 1/1 页 2 CN 115480837 A 2一种轻量级AOP框架实现的方 法及存储介质 技术领域 [0001]本发明涉及软件开发及使用技术领域, 特别涉及一种轻量级AOP框架实现的方法 及存储介质。 背景技术 [0002]目前常见的自定义AOP框架技 术, 具有以下 特点: [0003](1)文件包过大: Spring及其它自定义的AOP框架技术, 大多数基于开源AOP类库 AspectJ, [0004]此jar包将近2M, 文件 包过大, 不够轻量级。 [0005](2)语法复杂: 如果使用AspectJ, 又不集成Spring的话, 那就必须使用AspectJ提 供的Java语法扩展, 此语法复杂且较难使用。 [0006]基于上述问题, 发明提出了一种轻量级AOP框架实现的方法及存 储介质。 发明内容 [0007]本发明为了弥补现有技术的缺陷, 提供了一种简单高效的轻量级AOP框架实现的 方法及存 储介质。 [0008]本发明是通过如下技 术方案实现的: [0009]一种轻量级AOP框架实现的方法, 其特 征在于: 包括以下步骤: [0010]步骤S1、 自定义Proxy接口和Proxy  Chain类, 采用责任链模式实现代理类链式执 行; [0011]步骤S2、 通过工厂模式和单例模式自定义ProxyMana ger类; [0012]步骤S3、 自定义Abst ractProxy类, 采用模板方法模式实现钩子方法; [0013]步骤S4、 自定义Transact ionAspect类, 通过Transact ionAspect类, 实现包括开启 事务、 提交事务与回滚 事务在内的事务特性。 [0014]所述步骤S1中, 责任链模式实现代理类链式执行是指使用责任链设计模式, 实现 所有代理类通过链式方式逐一执 行。 [0015]所述步骤S1中, 使用责任链设计模式, 将每个Proxy用一根链串联起来, 形成一个 Proxy Chain, 然后调用这个Proxy  Chain, 使其依次调用C hain中的每个Proxy。 [0016]所述步骤S2中, 通过工厂模式和单例模式创建ProxyManager, 通过构造器初始化 targetClas s目标类和proxyL ist代理列表, 并提供createProxy()方法创建代理对象。 [0017]所述步骤S3中, 模板方法模式实现钩子方法是指使用模板方法模式, 实现包括但 不限于begi n()、 filter()、 before()、 after()、 er ror()与end()在内的钩子方法。 [0018]所述步骤S3中, 通过模板方法模式实现AbstractProx y抽象类, 并实现Prox y接口, 在接口中定义方法调用模板, 在需要横向拦截的地方定义钩子方法, 将钩子方法延迟到子 类中去实现。 [0019]所述步骤S3中, 框架使用者自定义代理类, 根据自身需求自定义选择需要的钩子说 明 书 1/3 页 3 CN 115480837 A 3

.PDF文档 专利 一种轻量级AOP框架实现的方法及存储介质

文档预览
中文文档 6 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共6页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种轻量级AOP框架实现的方法及存储介质 第 1 页 专利 一种轻量级AOP框架实现的方法及存储介质 第 2 页 专利 一种轻量级AOP框架实现的方法及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 16:34:09上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。