[发明专利]一种单体和微服务一体化软件开发方法在审
| 申请号: | 202211509215.7 | 申请日: | 2022-11-29 |
| 公开(公告)号: | CN115729526A | 公开(公告)日: | 2023-03-03 |
| 发明(设计)人: | 徐锋;范国超;薛铸鑫;张彤;孙鑫磊;黄琰;张月皎;贺婧媛;汪伟峰;张福雷 | 申请(专利权)人: | 北京京航计算通讯研究所 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/30;G06F8/36;G06F8/60;G06F8/73 |
| 代理公司: | 北京天达知识产权代理事务所有限公司 11386 | 代理人: | 刘镜 |
| 地址: | 100074 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 单体 微服 一体化 软件 开发 方法 | ||
1.一种单体和微服务一体化软件开发方法,其特征在于,包括以下步骤:
构建通用工程,在其中构建自定义注解类和切面类,以声明自定义注解类为切面类的切入点,通过切面类的前置通知方法及其输入参数,在切入点执行之前获取声明了自定义注解类的变量对应的实例;
构建依赖于通用工程的业务工程,包括:模型子工程、API子工程、服务子工程、单体启动子工程和微服务启动子工程;在服务子工程的控制类中定义API子工程中服务接口类的变量,并在变量上声明自定义注解类;
根据部署模式,对业务工程中单体启动子工程或微服务启动子工程打包,生成当前业务工程的部署包。
2.根据权利要求1所述的单体和微服务一体化软件开发方法,其特征在于,所述构建自定义注解类,包括:声明自定义注解类的名称,设置自定义注解类的作用域为属性字段,自定义注解类的生命周期为运行时。
3.根据权利要求2所述的单体和微服务一体化软件开发方法,其特征在于,所述切面类作为自定义注解类的切面实现,使用@Aspect与@Component两个标准注解进行定义,用于表示当前类为切面实现,并且在系统初始化时将当前类加载为Bean组件实例。
4.根据权利要求3所述的单体和微服务一体化软件开发方法,其特征在于,所述通过切面类的前置通知方法及其输入参数,在切入点执行之前获取声明了自定义注解类的变量对应的实例,包括:
根据输入参数中的连接点对象,获取声明了自定义注解类的变量的名称,作为待识别名称;
将待识别名称作为Bean组件名称,从当前启动的业务工程中获取对应的Bean组件实例为实例对象,如果实例对象为空,则将待识别名称作为微服务名称,通过远程微服务的调用方式获取对应的微服务实例为实例对象,如果实例对象仍为空,则返回异常信息,否则,通过依赖注入的方法,将实例对象注入至待识别名称中。
5.根据权利要求1所述的单体和微服务一体化软件开发方法,其特征在于,所述API子工程中服务接口类使用@FeignClient注解中的path属性定义暴露为微服务时该接口所有方法通用的访问前缀,通过@RequestMapping注解中的value属性定义方法的访问地址,拼接后得到方法的完整访问路径,对应的,在控制层的控制类中定义与API子工程服务接口类相同的方法访问路径。
6.根据权利要求1所述的单体和微服务一体化软件开发方法,其特征在于,所述单体启动子工程和微服务启动子工程中还包括全局拦截器,所述全局拦截器继承SpringMVC的HandlerInterceptorAdapter类,用于拦截所有请求路径,获取前缀变量的值返回至前端界面。
7.根据权利要求6所述的单体和微服务一体化软件开发方法,其特征在于,所述前端界面中各个获取静态资源的路径最前面拼接前缀变量的值。
8.根据权利要求6所述的单体和微服务一体化软件开发方法,其特征在于,所述前缀变量的值来源于各单体启动子工程和微服务启动子工程的配置文件中的服务访问前缀,且在单体启动子工程中前缀变量的值为空值。
9.根据权利要求6所述的单体和微服务一体化软件开发方法,其特征在于,所述方法还包括服务网关工程,在其中的网关配置文件中增加服务路由规则,包括:对每个微服务配置服务名称和访问前缀,设置转发规则为false,表示匹配路径时不删除前缀;以通配符的形式增加公共静态资源的访问路径;所述公共静态资源在单独的静态资源工程下。
10.根据权利要求7所述的单体和微服务一体化软件开发方法,其特征在于,所述服务网关工程还包括自定义网关路由加载器,其继承Zuul网关默认的路由加载器SimpleRouteLocator类,并重写其中的locateRoutes()方法;在重写后的locateRoutes()方法中,遍历获取的访问路径,如果属于公共静态资源的访问路径,则设置转发规则为true,表示转发后自动去掉前缀。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京航计算通讯研究所,未经北京京航计算通讯研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211509215.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:拼接显示器及其制造方法
- 下一篇:一种食品烤盘用脱膜油的制备方法





