[发明专利]依赖注入方法、装置、设备和存储介质有效
| 申请号: | 201811122064.3 | 申请日: | 2018-09-26 |
| 公开(公告)号: | CN109388403B | 公开(公告)日: | 2022-04-05 |
| 发明(设计)人: | 吕毅 | 申请(专利权)人: | 广州视源电子科技股份有限公司;广州视睿电子科技有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 华进联合专利商标代理有限公司 44224 | 代理人: | 关志琨 |
| 地址: | 510530 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 依赖 注入 方法 装置 设备 存储 介质 | ||
1.一种依赖注入方法,其特征在于,包括:
在进行程序编译时,收集源代码文件;
解析所述源代码文件,得到依赖关系特征;
将所述依赖关系特征中的依赖注入特征,生成依赖注入代码;将所述依赖关系特征中的依赖导出特征,生成依赖导出代码;
将所述依赖注入代码添加至所述源代码文件,得到依赖注入文件;
集合所述依赖导出代码,得到依赖导出文件;
针对所述依赖注入文件和所述依赖导出文件,执行核心编译任务,得到应用程序,供用户端运行所述应用程序时,执行所述依赖注入代码和所述依赖导出代码,得到所述应用程序的依赖关系。
2.根据权利要求1所述的方法,其特征在于,所述将所述依赖注入代码添加至所述源代码文件,得到依赖注入文件,包括:
查找所述源代码文件的占位符代码;
将所述依赖注入代码替换所述占位符代码,得到所述依赖注入文件。
3.根据权利要求1所述的方法,其特征在于,还包括:
确定所述编译任务的核心编译任务;
在执行所述核心编译任务之前,执行所述收集源代码文件的步骤。
4.根据权利要求1所述的方法,其特征在于,所述解析所述源代码文件,得到依赖关系特征,包括:
建立所述源代码文件的语法树;
提取所述语法树的语法节点;
判断所述语法节点是否存在依赖根节点;所述依赖根节点为另一语法树上的、与所述语法节点具有依赖关系的根语法节点;
若是,根据所述语法节点与所述依赖根节点之间的依赖关系,获取所述依赖关系特征。
5.一种依赖注入装置,其特征在于,包括:
文件收集模块,用于在进行程序编译时,收集源代码文件;
文件解析模块,用于解析所述源代码文件,得到依赖关系特征;
代码生成模块,用于将所述依赖关系特征中的依赖注入特征,生成依赖注入代码;将所述依赖关系特征中的依赖导出特征,生成依赖导出代码;
程序生成模块,用于将所述依赖注入代码添加至所述源代码文件,得到依赖注入文件;集合所述依赖导出代码,得到依赖导出文件;针对所述依赖注入文件和所述依赖导出文件,执行核心编译任务,得到应用程序,供用户端运行所述应用程序时,执行所述依赖注入代码和所述依赖导出代码,得到所述应用程序的依赖关系。
6.根据权利要求5所述的依赖注入装置,其特征在于,所述程序生成模块包括:
占位符查找单元,用于查找所述源代码文件的占位符代码;
替换单元,用于将所述依赖注入代码替换所述占位符代码,得到所述依赖注入文件。
7.根据权利要求5所述的依赖注入装置,其特征在于,所述文件收集模块,具体用于:
确定所述编译任务的核心编译任务,并在执行所述核心编译任务之前,收集源代码文件。
8.根据权利要求5所述的依赖注入装置,其特征在于,所述文件解析模块,包括:
语法树建立子模块,用于建立所述源代码文件的语法树;
节点提取子模块,用于提取所述语法树的语法节点;
判断子模块,用于判断所述语法节点是否存在依赖根节点;所述依赖根节点为另一语法树上的、与所述语法节点具有依赖关系的根语法节点;
特征获取子模块,用于根据所述语法节点与所述依赖根节点之间的依赖关系,获取所述依赖关系特征。
9.一种依赖注入设备,其特征在于,包括:存储器、一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行如权利要求1-4中任一所述的依赖注入方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-4中任一所述的依赖注入方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州视源电子科技股份有限公司;广州视睿电子科技有限公司,未经广州视源电子科技股份有限公司;广州视睿电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811122064.3/1.html,转载请声明来源钻瓜专利网。





