一种基于Spring的模块热部署方法及系统技术方案

技术编号:36165730 阅读:23 留言:0更新日期:2022-12-31 20:15
本发明专利技术涉及模块化技术领域,公开了一种基于Spring的模块热部署方法及系统,所述方法包括以下步骤:创建新的Spring容器和新的类加载器;基于所述类加载器加载待部署模块的JAR文件,并对其配置文件进行解析,得到所述待部署模块的唯一标识符;将所述待部署模块装载至所述Spring容器,并基于所述唯一标识符命名所述Spring容器。本发明专利技术通过为待加载模块创建单独的类加载器和Spring容器,实现了类之间以及模块之间的隔离,解决了可能的包冲突、类冲突问题。题。题。

【技术实现步骤摘要】
一种基于Spring的模块热部署方法及系统


[0001]本专利技术属于模块化
,尤其涉及一种基于Spring的模块热部署方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]对于一个复杂应用程序,传统系统都是将功能进行划分成Web层(controller)、Service层(业务层)、Dao层(数据库持久化层),在功能模块数量比较大情况下,难免多个功能模块存在一些依赖关系,造成模块之间高度耦合,无法实现模块解耦分离,使得模块的复用性降低。因此,出于长远角度考虑,通常根据模块业务逻辑不同,将系统进行业务模块划分,即对业务模块进行解耦,实现模块独立和复用性。在大型软件开发过程中,通常会推荐底层功能插件化、业务功能模块化的开发模式,以期达到低耦合、高内聚、功能复用的优点。
[0004]目前模块化实现方式如下几种方式:(1)基于代码组织的模块化。在开发期间,将不同功能代码放在不同的Java工程下,在编译器被打进不同JAR文件,在运行期,所有Java类都在一个C本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于Spring的模块热部署方法,其特征在于,包括以下步骤:创建新的Spring容器和新的类加载器;基于所述类加载器加载待部署模块的JAR文件,并对其配置文件进行解析,得到所述待部署模块的唯一标识符;将所述待部署模块装载至所述Spring容器,并基于所述唯一标识符命名所述Spring容器。2.如权利要求1所述的基于Spring的模块热部署方法,其特征在于,当所述模块被调用时,宿主应用基于所述唯一标识符调用对应的Spring容器,获取其中的类。3.如权利要求1所述的基于Spring的模块热部署方法,其特征在于,若所述模块的配置文件中包括URL路径映射,将所述URL路径和模块的唯一标识符均同步至宿主应用的Spring容器中。4.如权利要求3所述的基于Spring的模块热部署方法,其特征在于,当所述模块被调用时,基于所述模块的唯一标识符确定相应URL,根据所述URL定位对应的Spring容器,获取其中的类。5.如权利要求1所述的基于Spring的模块热部署方法,其特征在于,若所述模块的配置文件中包括与所述唯一标识符绑定的业务场景标签,将所述业务场景标签和模块唯一标识符均同步至宿主应用的Spri...

【专利技术属性】
技术研发人员:黎峰王宾宾谢玉鑫张鹏许明
申请(专利权)人:金现代信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1