[发明专利]spring框架泛型依赖注入方法、装置及计算机设备、存储介质在审
申请号: | 201910327704.2 | 申请日: | 2019-04-23 |
公开(公告)号: | CN110221820A | 公开(公告)日: | 2019-09-10 |
发明(设计)人: | 王建华;曹佩敬 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/71 |
代理公司: | 深圳市世联合知识产权代理有限公司 44385 | 代理人: | 刘华松 |
地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 泛型 计算机设备 操作路径 存储介质 容器启动 集合 人工智能技术 程序运行 就绪状态 路径获取 依赖关系 侵入性 阅读 监测 应用 | ||
本发明属于人工智能技术领域,涉及一种spring框架泛型依赖注入方法、装置及计算机设备、存储介质,所述方法包括:在监测到spring容器启动结束后,获取需要进行泛型依赖注入的目标bean对象的操作路径;根据操作路径获取class文件,收集对应于一个依赖对象的class文件形成class文件集合;根据所述class文件集合中的每个class文件生成bean对象并注入所述目标bean对象的属性中,实现泛型依赖注入。本发明提供的方案可应用于自身不具有泛型依赖注入功能的spring框架,通过在spring容器启动之后从设定的路径获取class文件来实现泛型依赖注入,这种方式能够简化对象之间的依赖关系,程序更加简化,容易阅读,侵入性弱,生成的依赖对象在构造完成后可马上进入就绪状态,能提高程序运行效率。
技术领域
本发明实施例属于人工智能技术领域,尤其涉及一种spring框架泛型依赖注入方法、装置及计算机设备、存储介质。
背景技术
对于基于spring框架的应用程序,程序功能的实现过程中,需生成一系列的bean对象,通过操作这些bean对象来实现具体的功能。
bean对象是java类的实例化,java类包含一系列的方法和属性,这些方法往往会依赖其他类的方法来运行,因此在生成bean对象的过程中会利用到这种依赖关系,通过依赖关系来引用依赖对象的方法和属性,并将其注入到bean对象中,现有依赖注入方式主要包括构造方法注入(constructor injection),setter方法注入(setter injection)以及接口注入(interface injection)三类。
Java类使用泛型时可以继承其他类的方法和属性,从而可以复用代码,减少编程量,解决向下转型所带来的安全隐患,其核心的组成就是在声明类或接口的时候不设置参数或属性的类型,使用泛型之后,所有类中属性都是动态设置的。然而,当java类使用泛型继承其他类的方法和属性时,在spring4.0以下的版本框架无法通过上述三种方式来实现依赖注入。
此外,对于复杂的依赖关系,比如依赖对象比较多的时候,如果采用构造方法注入,会因参数列表较长而导致构造器过于臃肿,使得难以阅读,Spring在创建Bean实例时,需要同时实例化其依赖的全部实例,因而导致性能下降;采用setter方法注入尽管可以解决性能下降的问题,然而生成的依赖对象无法在构造完成后马上进入就绪状态;接口注入比较死板和烦琐,如果需要注入依赖对象,被注入对象就必须声明和实现另外的接口,且其强制被注入对象实现不必要的接口,侵入性太强。
发明内容
有鉴于此,本发明实施例提供一种spring框架泛型依赖注入方法、装置及计算机设备、存储介质,以解决现有技术中spring4.0以下的版本框架不支持泛型依赖注入方式的问题,以及解决spring4.0以下的版本框架支持的注入方式或容易导致构造器臃肿难以阅读,或生成的依赖对象在构造完成后无法马上进入就绪状态,或侵入性太强的问题。
第一方面,本发明实施例提供一种spring框架泛型依赖注入方法,包括:
监听spring容器的启动过程,在监测到spring容器启动结束后,获取需要进行泛型依赖注入的目标bean对象的操作路径;
根据所述操作路径从对应的目标位置获取class文件,并判断每个获取的class文件是否对应于一个依赖对象,当判断结果存在对应于一个依赖对象的class文件时,收集对应于一个依赖对象的class文件形成class文件集合;
遍历所述class文件集合,根据所述class文件集合中的每个class文件生成bean对象,将生成的bean对象注入所述目标bean对象的属性中,实现泛型依赖注入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910327704.2/2.html,转载请声明来源钻瓜专利网。