CN111813394A - 一种基于SpringBoot的Zeus框架的开发方法及Zeus框架 - Google Patents
一种基于SpringBoot的Zeus框架的开发方法及Zeus框架 Download PDFInfo
- Publication number
- CN111813394A CN111813394A CN202010446038.7A CN202010446038A CN111813394A CN 111813394 A CN111813394 A CN 111813394A CN 202010446038 A CN202010446038 A CN 202010446038A CN 111813394 A CN111813394 A CN 111813394A
- Authority
- CN
- China
- Prior art keywords
- zeus
- framework
- file
- springboot
- return
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于SpringBoot的Zeus框架的开发方法及Zeus框架,所述方法包括:通过start.spring.io创建基于SpringBoot框架的项目的原始文件;在所述原始文件中引入部署在Maven仓库服务器的Zeus框架的Pom文件,得到Zeus依赖管理;修改所述Zeus依赖管理的所述原始文件,得到新的Zeus框架文件;在所述新的Zeus框架文件中的java文件的src目录下分别生成与所述数据库表对应的代码文件,所述代码文件为对数据库表操作的增删改查的逻辑和接口,得到基于SpringBoot的Zeus框架。本发明提供的一种基于SpringBoot的Zeus框架的开发方法及Zeus框架,使得前后端分离,从而可快速进行业务开发;同时使工程师在预定的架构下进行编程工作,避免了程序风格不统一,提高修改维护的效率。
Description
技术领域
本发明涉及微服务下Web应用开发技术领域,尤其涉及一种基于SpringBoot的Zeus框架的开发方法及Zeus框架。
背景技术
目前,很多开发者都会使用start.spring.io来初始化自己的Spring Boot工程,但是此方法往往存在以下问题:第一,start.spring.io生成的工程骨架中,只有组件坐标信息,缺少对应的使用方法和Demo代码,开发者使用该工程时需要寻找相关使用教程或代码样例,从而导致开发效率低下;第二,该方法依赖包版本多,依赖关系复杂,而手工处理依赖复杂的依赖关系容易造成不必要的技术性Bug,同时导致排查错误的时间倍增;第三,当接口出现业务异常或系统异常时,由于接口返回数据格式不统一,前端无法通过接口返回的数据判断业务数据是否正常;同时,异常情况往往会直接显示在用户端,使得用户体验较差。
发明内容
本发明的目的在于提供一种基于SpringBoot的Zeus框架的开发方法及Zeus框架,通过提供开发框架的模块依赖和组件集成,进行全局异常处理与响应格式统一处理,从而降低因依赖复杂的Bug出现率,提高异常处理效率和开发效率。
为了克服上述现有技术中的缺陷,本发明提供了一种基于SpringBoot的Zeus框架的开发方法,包括:
通过start.spring.io创建基于SpringBoot框架的项目的原始文件;
在所述原始文件中引入部署在Maven仓库服务器的Zeus框架的Pom文件,得到Zeus依赖管理;
修改所述Zeus依赖管理的所述原始文件,得到新的Zeus框架文件;包括:在Application.java文件中添加主配置ComponentScan和MapperScan注解类信息,在所述Pom文件中添加Zeus-core与Zeus-common的依赖信息;用Application.yml文件替代原始Application.properties文件;
在所述新的Zeus框架文件中的java文件的src目录下分别生成与所述数据库表对应的前后端代码,得到基于SpringBoot的Zeus框架;所述代码为对数据库表操作的增删改查的逻辑和接口代码。
进一步地,所述配置统一响应结果格式和进行全局异常处理,具体为:
在业务请求正常时,在原返回的业务数据基础上进行封装,将状态码、信息和数据等信息封装进来;当出现异常时,将异常业务进行统一响应格式封装,然后将生成的返回码返回给调用方;其中,所述封装为@ControllerAdvice全局封装响应格式,所述统一响应格式为ReturnResponse和ReturnCode格式;所述返回码为ReturnResponse和ReturnCode或自定义返回码。
进一步地,所述配置统一响应结果格式,包括:
创建统一响应的处理类ResponseHandler,实现ResponseBodyAdvice,同时对响应体实现增强功能;
在ResponseHandler类上加上注解,对RestController类的请求方法进行拦截;
重载beforeBodyWrite方法,统一使用ReturnResponse类封装响应结果。
进一步地,所述进行全局异常处理,依次包括:
进行全局异常处理配置,实现后台java类中的异常处理,获取前端返回结果,根据开发环境及开发工具建立基于Zeus框架的项目,在创建好的项目的pom文件中添加Zeus框架的依赖,实现统一异常处理功能的封装。
进一步地,所述Zeus依赖的参数配置包括:
为所述Zeus框架创建过程进行基本接口参数配置;
选取项目所有依赖为所述Zeus框架进行框架配置;
通过输入IP、端口、数据库、用户名与密码导入进行数据库表配置。
进一步地,所述基本接口参数包括:组名、类型,模块、项目名称、项目描述、包名、打包方式和Java版本。
本发明还提供一种基于SpringBoot的Zeus框架,包括:
原始文件创建单元,用于通过start.spring.io创建基于SpringBoot框架的项目的原始文件;
Zeus依赖获取单元,用于在所述原始文件中引入部署在Maven仓库服务器的Zeus框架的Pom文件,得到Zeus依赖管理;
文件修改单元,用于修改所述Zeus依赖管理的所述原始文件,得到新的Zeus框架文件;包括:在Application.java文件中添加主配置ComponentScan和MapperScan注解类信息,在所述Pom文件中添加Zeus-core与Zeus-common的依赖信息;用Application.yml文件替代原始Application.properties文件;
数据库代码生成单元:用于在所述新的Zeus框架文件中的java文件的src目录下分别生成与所述数据库表对应的前后端代码,得到基于SpringBoot的Zeus框架;所述代码为对数据库表操作的增删改查的逻辑和接口代码。
进一步地,所述基于SpringBoot的Zeus框架还包括统一响应结果格式配置和全局异常处理单元;用于在业务请求正常时,在原返回的业务数据基础上进行封装,将状态码、信息和数据等信息封装进来;当出现异常时,将异常业务进行统一响应格式封装,然后将生成的返回码返回给调用方;其中,所述封装为@ControllerAdvice全局封装响应格式,所述统一响应格式为ReturnResponse和ReturnCode格式;所述返回码为ReturnResponse和ReturnCode或自定义返回码。
本发明实施例还提供了一种计算机终端设备,包括:
一个或多个处理器;
存储器,与所述处理器耦接,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任意一个实施例所述的基于SpringBoot的Zeus框架的开发方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述任意一个实施例所述的基于SpringBoot的Zeus框架的开发方法。
相对于现有技术,本发明实施例至少存在以下有益效果:
(1)提供开发框架的模块依赖和组件集成,快速提供业务接口,通过强大的Swagger UI的接口管理,提供一系列定义好的接口,让前后端分离快速的进行业务开发,提高开发效率。
(2)使工程师在预定的架构下进行编程工作,避免了程序风格不统一,提高修改维护的效率。
附图说明
图1是本发明某一实施例提供的基于SpringBoot的Zeus框架的开发方法的流程示意图;
图2是本发明某一实施例提供的基于SpringBoot的Zeus框架的结构示意图;
图3是本发明某一实施例提供的基于SpringBoot的Zeus框架的模块连接图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,本发明某一实施例提供了一种基于SpringBoot的Zeus框架的开发方法,包括:
S10、通过start.spring.io创建基于SpringBoot框架的项目的原始文件;
在Spring之中整合RabbitMQ、Kafka、ActiveMQ、MySQL、Druid、Redis、Shiro,需要编写一堆堆的*.xml配置文件;开发程序十分复杂;工程师便开始寻求更加简便的开发方式,但这种简便的开发方式没有被JDK、JavaEE所支持,因为这些只是平台,能够提供的只是最原始的技术支持。当SpringBoot出现时,改变了所有Java开发的困境,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,它简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用。
本步骤中,首先通过start.spring.io创建基于SpringBoot框架的项目的原始文件,然后基于SpringBoot框架再进行进一步的开发过程。
S20、在所述原始文件中引入部署在Maven仓库服务器的Zeus框架的Pom文件,得到Zeus依赖管理;
需要说明的是,Maven服务器的一个核心的特性就是依赖管理。当我们处理多模块的项目(包含成百上千个模块或者子项目),模块间的依赖关系就变得非常复杂,管理也变得很困难。针对此种情形,Maven提供了一种高度控制的方法,Maven可以避免去搜索所有所需库的需求。Maven通过读取项目文件(pom.xml),找出它们项目之间的依赖关系。我们需要做的只是在每个项目的pom文件中定义好直接的依赖关系,然后由Maven直接查找依赖关系。通过可传递性的依赖,所有被包含的库的图形会快速的增长。当有重复库时,可能出现的情形将会持续上升,此时Maven会提供一些功能来控制可传递的依赖程度。
在本步骤中,在之前建立好的原始文件中引入部署在Maven仓库服务器的Zeus框架的Pom文件,进而得到Zeus框架的依赖管理,其中引入的一种Pom文件代码如下:
<parent>
<groupId>cn.com.pcauto.zeus</groupId>
<artifactId>zeus-all</artifactId>
<version>1.0.3</version>
<relativePath/><!--lookup parent from repository-->
</parent>
通过引入Pom文件后,在Zeus依赖包完成后,就可以通过Zeus的依赖管理进行开发,开发者不需要关心组件的版本和使用,简单配置就可以进行业务开发;同时对依赖包的版本也做了简化,在开发时克服了传统方式中手工处理依赖复杂的依赖关系容易造成不必要的技术性BUG,进而导致排查错误时间倍增的问题。开发者可以完成application.yml的组件配置和数据库配置,再根据Zeus框架的zeus-web模块里的案例组件使用方式,就能让业务开发者快速的构建一个拥有主流组件生态的web应用,省去开发者做各种组件选型调研、版本迭代差异学习的成本。
S30、修改所述Zeus依赖管理的所述原始文件,得到新的Zeus框架文件;包括:在Application.java文件中添加主配置ComponentScan和MapperScan注解类信息,在所述Pom文件中添加Zeus-core与Zeus-common的依赖信息;用Application.yml文件替代原始Application.properties文件;
在此步骤中,主要是对S02步骤获得的Zeus框架的文件进行修改,目的是克服像原来那样需要寻找相关使用教程,或者代码样例才能进行编程的开发方式,因为那样会让开发者在各种组件选型调研、学习版本迭代差异上花费大量时间,导致时间的浪费。本步骤中,在Application.java文件中添加主配置ComponentScan和MapperScan注解类信息,开发时可以直接读取注解进行理解然后编程,在Pom文件中添加Zeus-core与Zeus-common的依赖信息,这样可以方便复杂依赖关系的管理,也方便Maven的后续识别查找依赖关系;然后删除原始Application.properties文件;在该位置写入Application.yml文件替代,同样简化了流程。
S40、在所述新的Zeus框架文件中的java文件的src目录下分别生成与所述数据库表对应的前后端代码,得到基于SpringBoot的Zeus框架;所述代码为对数据库表操作的增删改查的逻辑和接口代码。
该步骤的实质是对数据库组件的集成过程,通过对Zeus框架的数据库模块集成改造,可以自动生成应用的数据层和数据服务接口的代码接口类,包括完整的数据库表的增删改查的后端逻辑。通过引入组件Mybatis-plus,在其基础上进行一些小改造,比如增加分页控件和二级缓存拦截,缓存数据对象等。自动生成数据层和数据服务接口类,通过代码生成工具,可以很快速地对数据库的增删改查的逻辑处理生成完整的MyBatis,代码类对应Mybatis的entity,mapper,service和controller。
本实施例中,进一步地,提供了配置统一响应结果格式和进行全局异常处理的方法,具体为:
在业务请求正常时,在原返回的业务数据基础上进行封装,将状态码、信息和数据等信息封装进来;当出现异常时,将异常业务进行统一响应格式封装,然后将生成的返回码返回给调用方;其中,所述封装为@ControllerAdvice全局封装响应格式,所述统一响应格式为ReturnResponse和ReturnCode格式;所述返回码为ReturnResponse和ReturnCode或自定义返回码。
需要说明的是,在项目开发中,一般情况下前端对数据接口返回的格式可能会有一个统一的要求,一般会包括状态码、信息及数据三部分。假设规范要求数据返回的结构如下所示:
{"data":[{"id":5,"userId":5,"name":"test1","articleCount":0}],"message":"请求成功","code":"200"}
其中,data字段存储实际的返回数据;message表示请求的描述信息;code表示请求状态码;一般用一个状态码表示,如200来表示请求成功的状态;而出现异常时可以存储具体的异常状态码。
要返回这样的数据,最直接的做法当然是在每一个Controller中去处理,返回的数据本身就包含处理码、数据、出现异常时的异常信息等字段。但这样做会有这样的问题,就是每一个Controller向外暴露的方法都要创建一个返回的对象来封装这种处理,并在出现异常时捕获与处理异常。所以,最好是能够统一处理这种转换,这样的话应用开发者就只需关注他原本就需要处理的事情:在业务请求正常时返回数据本身;在业务请求出现异常时抛出合适的异常,并返回相应的状态码和信息。
因此,在本实施例中的统一响应结果和全局异常处理,在业务请求正常时,在原返回的数据基础上封装一层,将状态码、信息和数据等信息封装进来;当出现异常时,将异常业务进行统一响应格式封装,然后再返回给调用方。
其中Zeus框架使用@ControllerAdvice全局封装响应格式和内容,提供一个ReturnResponse和ReturnCode统一响应格式和返回码,同时,也可以自定义返回响应码。若在业务逻辑处理过程中出现问题,通过throw new BussinessException抛出业务异常后统一响应业务错误的内容格式。
本实施中,进一步地,所述配置统一响应结果格式,包括:
创建统一响应的处理类ResponseHandler,实现ResponseBodyAdvice,对响应体进行增强功能;
在ResponseHandler类上加上注解,对RestController类的请求方法进行拦截;
重载beforeBodyWrite方法,统一使用ReturnResponse类封装响应结果。
值得理解的是,该步骤为配置统一响应结果格式的具体步骤,具体如下:
1)首先创建一个统一响应的处理类ResponseHandler,实现ResponseBodyAdvice,对响应体进行增强功能;
2)在ResponseHandler类上加上注解@ControllerAdvice(annotations=RestController.class),对RestController的各种请求方法进行拦截;
3)重载beforeBodyWrite方法,统一使用ReturnResponse类封装响应结果。ReturnResponse的数据结构是:{“code”:<Integer>,”message”:<String>,”data”,<Object>},样例代码如:{“code”:200,”message”:“提交成功”,”data”,{}}。
本实施中,进一步地,所述进行全局异常处理,依次包括:
进行全局异常处理配置、后台java类中异常处理实现、前端返回结果获取根据开发环境及开发工具建立基于Zeus框架的项目、在创建好的项目的pom文件中添加Zeus框架的依赖,实现统一异常处理功能的封装。
1)全局异常处理的配置。本发明提供了对各种业务异常的封装类cn.com.pcauto.zeus.core.exceptions.BusinessException和对用户认证异常的封装类cn.com.pcauto.zeus.core.exceptions.UnauthorizedException,这两个封装类处理相应的异常内容。同时,借助于SprinMVC的@ControllerAdvice和@ExceptionHandler机制可以实现全局异常的捕获,在GlobalExceptionHandler类将异常类型和异常信息封装成统一响应结果ReturnResponse类,当业务请求发生异常后会由该类响应返回给前端的数据结构格式。
2)后台java类中异常处理实现。
统一异常处理提供了后台异常处理的方法。在程序中使用该类时,只需要定义该类的对象并抛出即可。代码如下:throw new BusinessException("体现接口出错");该类有三个重载方法,并支持参数传递。根据不同的参数类型可以获取不同的异常信息。
3)前端返回结果获取。
当前端调用接口请求后,后端会统一响应ReturnResponse类的数据结构,该类就会将接口结果数据对象封装为json数据并返回。在前端通过response.code判断业务请求是否成功,response.msg获取接口返回信息,response.data获取业务数据。
样例代码如:{“code”:500,”message”:“提现接口出错”,”data”,null}
4)选择开发环境及开发工具,建立基于Zeus框架的项目。
5)在创建好的项目的pom文件中添加Zeus的依赖,实现统一异常处理功能的封装。
通过以上配置,就完成了统一异常处理的所有配置工作。
本实施中,进一步地,所述Zeus依赖的参数配置包括:
为所述Zeus框架创建过程进行基本接口参数配置;
选取项目所有依赖为所述Zeus框架进行框架配置;
通过输入IP、端口、数据库、用户名与密码导入进行数据库表配置。
需要说明的是,项目依赖包括但不限于Web、Mybatis、Mysql、Redis等。
进一步地,所述基本接口参数包括:组名、类型,模块、项目名称、项目描述、包名、打包方式和Java版本。
需要说明的是,基本接口参数包括:Group(组名)、Type(类型,可选Maven project与Gradle project)、Artifact(模块名)、Name(项目名称)、Description(项目描述)、Package Name(包名)、Packaging(打包方式,jar)、Java Version(Java版本)。
请参阅图2,为了帮助理解本发明的方案,本发明某一实施例提供的基于SpringBoot的Zeus框架的结构示意图,其主要开发一种网上汽车交易平台;
本实施例中,所述网上汽车交易平台的模块包括:汽车论坛、汽车半价购和汽车抽奖系统,其中,本发明的基于SpringBoot的Zeus的核心框架引入了部署在Maven仓库服务器的Zeus框架的Pom文件,由Pom版本进行控制,即可以快速进行所述汽车论坛的平台搭建,在开发所述汽车抽奖系统时,应用可选组件包括:Zeus-core,Zeus-common,Zeus-sharding-jdbc,Zeus-generate,Zeus-admin,Zeus-web,通过引入部署在Maven仓库服务器的Zeus的POM依赖管理,不用再关心内部组件的版本等信息,并完成application.yml的组件配置和数据库配置,再根据Zeus框架的zeus-web模块里的案例组件使用方式,就能让业务开发者快速的构建一个拥有主流组件生态的web应用,省去开发者做各种组件选型调研、版本迭代差异学习的成本。
请参阅图3,本发明某一实施例提供一种基于SpringBoot的Zeus框架的模块连接图,包括:
原始文件创建单元,用于通过start.spring.io创建基于SpringBoot框架的项目的原始文件;
Zeus依赖获取单元,用于在所述原始文件中引入部署在Maven仓库服务器的Zeus框架的Pom文件,得到Zeus依赖管理;
文件修改单元,用于修改所述Zeus依赖管理的所述原始文件,得到新的Zeus框架文件;包括:在Application.java文件中添加主配置ComponentScan和MapperScan注解类信息,在所述Pom文件中添加Zeus-core与Zeus-common的依赖信息;用Application.yml文件替代原始Application.properties文件;
数据库代码生成单元:用于在所述新的Zeus框架文件中的java文件的src目录下分别生成与所述数据库表对应的前后端代码,得到基于SpringBoot的Zeus框架;所述代码为对数据库表操作的增删改查的逻辑和接口代码。
进一步地,所述基于SpringBoot的Zeus框架还包括统一响应结果格式配置和全局异常处理单元;用于在业务请求正常时,在原返回的业务数据基础上进行封装,将状态码、信息和数据等信息封装进来;当出现异常时,将异常业务进行统一响应格式封装,然后将生成的返回码返回给调用方;其中,所述封装为@ControllerAdvice全局封装响应格式,所述统一响应格式为ReturnResponse和ReturnCode格式;所述返回码为ReturnResponse和ReturnCode或自定义返回码。
本发明某一实施例还提供了一种计算机终端设备,包括:
一个或多个处理器;
存储器,与所述处理器耦接,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任意一个实施例所述的基于SpringBoot的Zeus框架的开发方法。
本发明某一实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述任意一个实施例所述的基于SpringBoot的Zeus框架的开发方法。
处理器用于控制该计算机终端设备的整体操作,以完成上述的全自动用电量预测方法的全部或部分步骤。存储器用于存储各种类型的数据以支持在该计算机终端设备的操作,这些数据例如可以用于在该计算机终端设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在一示例性实施例中,计算机终端设备可以被一个或多个应用专用集成电路(Application Specific 1ntegrated Circuit,简称AS1C)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的基于SpringBoot的Zeus框架的开发方法,并达到如上述方法一致的技术效果。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的基于SpringBoot的Zeus框架的开发方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器,上述程序指令可由计算机终端设备的处理器执行以完成上述的基于SpringBoot的Zeus框架的开发方法,并达到如上述方法一致的技术效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种基于SpringBoot的Zeus框架的开发方法,其特征在于,包括:
通过start.spring.io创建基于SpringBoot框架的项目的原始文件;
在所述原始文件中引入部署在Maven仓库服务器的Zeus框架的Pom文件,得到Zeus依赖管理;
修改所述Zeus依赖管理的所述原始文件,得到新的Zeus框架文件;包括:在Application.java文件中添加主配置ComponentScan和MapperScan注解类信息,在所述Pom文件中添加Zeus-core与Zeus-common的依赖信息;用Application.yml文件替代原始Application.properties文件;
在所述新的Zeus框架文件中的java文件的src目录下分别生成与所述数据库表对应的前后端代码,得到基于SpringBoot的Zeus框架;所述代码为对数据库表操作的增删改查的逻辑和接口代码。
2.根据权利要求1所述的基于SpringBoot的Zeus框架的开发方法,其特征在于,还包括配置统一响应结果格式和进行全局异常处理,具体为:
在业务请求正常时,在原返回的业务数据基础上进行封装,将状态码、信息和数据等信息封装进来;当出现异常时,将异常业务进行统一响应格式封装,然后将生成的返回码返回给调用方;其中,所述封装为@ControllerAdvice全局封装响应格式,所述统一响应格式为ReturnResponse和ReturnCode格式;所述返回码为ReturnResponse和ReturnCode或自定义返回码。
3.根据权利要求2所述的基于SpringBoot的Zeus开发框架的方法,其特征在于,所述配置统一响应结果格式,包括:
创建统一响应的处理类ResponseHandler,实现ResponseBodyAdvice,同时对响应体实现增强功能;
在ResponseHandler类上加上注解,对RestController类的请求方法进行拦截;
重载beforeBodyWrite方法,统一使用ReturnResponse类封装响应结果。
4.根据权利要求2所述的基于SpringBoot的Zeus开发框架的方法,其特征在于,所述进行全局异常处理,依次包括:
进行全局异常处理配置,实现后台java类中的异常处理,获取前端返回结果,根据开发环境及开发工具建立基于Zeus框架的项目,在创建好的项目的pom文件中添加Zeus框架的依赖,实现统一异常处理功能的封装。
5.根据权利要求1所述的基于SpringBoot的Zeus开发框架的方法,其特征在于,所述Zeus依赖的参数配置包括:
为所述Zeus框架创建过程进行基本接口参数配置;
选取项目所有依赖为所述Zeus框架进行框架配置;
通过输入IP、端口、数据库、用户名与密码导入进行数据库表配置。
6.根据权利要求5所述的基于SpringBoot的Zeus开发框架的方法,其特征在于,所述基本接口参数包括:组名、类型,模块、项目名称、项目描述、包名、打包方式和Java版本。
7.一种基于SpringBoot的Zeus框架,其特征在于,包括:
原始文件创建单元,用于通过start.spring.io创建基于SpringBoot框架的项目的原始文件;
Zeus依赖获取单元,用于在所述原始文件中引入部署在Maven仓库服务器的Zeus框架的Pom文件,得到Zeus依赖管理;
文件修改单元,用于修改所述Zeus依赖管理的所述原始文件,得到新的Zeus框架文件;包括:在Application.java文件中添加主配置ComponentScan和MapperScan注解类信息,在所述Pom文件中添加Zeus-core与Zeus-common的依赖信息;用Application.yml文件替代原始Application.properties文件;
数据库代码生成单元:用于在所述新的Zeus框架文件中的java文件的src目录下分别生成与所述数据库表对应的前后端代码,得到基于SpringBoot的Zeus框架;所述代码为对数据库表操作的增删改查的逻辑和接口代码。
8.根据权利要求7所述的基于SpringBoot的Zeus框架,其特征在于,还包括统一响应结果格式配置和全局异常处理单元;用于在业务请求正常时,在原返回的业务数据基础上进行封装,将状态码、信息和数据等信息封装进来;当出现异常时,将异常业务进行统一响应格式封装,然后将生成的返回码返回给调用方;其中,所述封装为@ControllerAdvice全局封装响应格式,所述统一响应格式为ReturnResponse和ReturnCode格式;所述返回码为ReturnResponse和ReturnCode或自定义返回码。
9.一种计算机终端设备,其特征在于,包括:
一个或多个处理器;
存储器,与所述处理器耦接,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至6任一项所述的基于SpringBoot的Zeus框架的开发方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的基于SpringBoot的Zeus框架的开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010446038.7A CN111813394A (zh) | 2020-05-22 | 2020-05-22 | 一种基于SpringBoot的Zeus框架的开发方法及Zeus框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010446038.7A CN111813394A (zh) | 2020-05-22 | 2020-05-22 | 一种基于SpringBoot的Zeus框架的开发方法及Zeus框架 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111813394A true CN111813394A (zh) | 2020-10-23 |
Family
ID=72848123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010446038.7A Withdrawn CN111813394A (zh) | 2020-05-22 | 2020-05-22 | 一种基于SpringBoot的Zeus框架的开发方法及Zeus框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813394A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527271A (zh) * | 2020-12-24 | 2021-03-19 | 广东广宇科技发展有限公司 | 一种软件开发实现方法和软件开发引擎 |
CN112748908A (zh) * | 2020-12-31 | 2021-05-04 | 广东广宇科技发展有限公司 | 基于SSM框架的Restful服务开发方法与装置 |
CN112817564A (zh) * | 2021-01-07 | 2021-05-18 | 湖北智泽云创科技有限公司 | mala后端快速开发框架系统及方法 |
CN113419772A (zh) * | 2021-06-30 | 2021-09-21 | 平安国际智慧城市科技股份有限公司 | 响应数据打包及拆包方法、打包装置、设备及介质 |
CN113641700A (zh) * | 2021-08-30 | 2021-11-12 | 北京沃东天骏信息技术有限公司 | 一种基于Spring boot框架的数据处理方法及装置 |
CN113835707A (zh) * | 2021-09-30 | 2021-12-24 | 唯品会(广州)软件有限公司 | 一种造数方法、装置、设备及可读存储介质 |
CN114356427A (zh) * | 2022-01-06 | 2022-04-15 | 成都新希望金融信息有限公司 | 一种扫描过滤方法、装置、电子设备及存储介质 |
CN117289914A (zh) * | 2023-11-22 | 2023-12-26 | 南京飓风引擎信息技术有限公司 | 基于SpringBoot框架的数据转换系统及方法 |
-
2020
- 2020-05-22 CN CN202010446038.7A patent/CN111813394A/zh not_active Withdrawn
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527271A (zh) * | 2020-12-24 | 2021-03-19 | 广东广宇科技发展有限公司 | 一种软件开发实现方法和软件开发引擎 |
CN112527271B (zh) * | 2020-12-24 | 2024-03-29 | 广东广宇科技发展有限公司 | 一种软件开发实现方法和软件开发引擎 |
CN112748908A (zh) * | 2020-12-31 | 2021-05-04 | 广东广宇科技发展有限公司 | 基于SSM框架的Restful服务开发方法与装置 |
CN112748908B (zh) * | 2020-12-31 | 2024-02-27 | 广东广宇科技发展有限公司 | 基于SSM框架的Restful服务开发方法与装置 |
CN112817564A (zh) * | 2021-01-07 | 2021-05-18 | 湖北智泽云创科技有限公司 | mala后端快速开发框架系统及方法 |
CN113419772A (zh) * | 2021-06-30 | 2021-09-21 | 平安国际智慧城市科技股份有限公司 | 响应数据打包及拆包方法、打包装置、设备及介质 |
CN113641700A (zh) * | 2021-08-30 | 2021-11-12 | 北京沃东天骏信息技术有限公司 | 一种基于Spring boot框架的数据处理方法及装置 |
CN113835707A (zh) * | 2021-09-30 | 2021-12-24 | 唯品会(广州)软件有限公司 | 一种造数方法、装置、设备及可读存储介质 |
CN113835707B (zh) * | 2021-09-30 | 2024-01-19 | 唯品会(广州)软件有限公司 | 一种造数方法、装置、设备及可读存储介质 |
CN114356427A (zh) * | 2022-01-06 | 2022-04-15 | 成都新希望金融信息有限公司 | 一种扫描过滤方法、装置、电子设备及存储介质 |
CN117289914A (zh) * | 2023-11-22 | 2023-12-26 | 南京飓风引擎信息技术有限公司 | 基于SpringBoot框架的数据转换系统及方法 |
CN117289914B (zh) * | 2023-11-22 | 2024-02-02 | 南京飓风引擎信息技术有限公司 | 基于SpringBoot框架的数据转换系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813394A (zh) | 一种基于SpringBoot的Zeus框架的开发方法及Zeus框架 | |
CN109408373B (zh) | 智能合约的测试方法、计算机可读存储介质及测试终端 | |
Mirzaei et al. | Sig-droid: Automated system input generation for android applications | |
Deng et al. | Towards mutation analysis of android apps | |
US11010283B2 (en) | Mock-based unit test(s) for an end-to-end test of a code snippet | |
US20030149799A1 (en) | System supporting unified event handling in ECMAScript | |
US7552422B2 (en) | Test case inheritance controlled via attributes | |
Shahriar et al. | Testing of memory leak in android applications | |
EP2431869A1 (en) | Dry-run design time environment | |
US20080052690A1 (en) | Testing software with a build engine | |
Franke et al. | Testing conformance of life cycle dependent properties of mobile applications | |
CN111752844A (zh) | 一种接口测试方法、装置、计算设备及存储介质 | |
Farooq et al. | Runtimedroid: Restarting-free runtime change handling for android apps | |
US7340725B1 (en) | Smart test attributes and test case scenario in object oriented programming environment | |
CN111507676A (zh) | 业务订单流程创建和实现方法、装置、存储介质和系统 | |
Ali et al. | Model transformations as a strategy to automate model-based testing-A tool and industrial case studies | |
CN111752841A (zh) | 单测模拟方法、装置、设备与计算机可读存储介质 | |
Chen et al. | Fragdroid: Automated user interface interaction with activity and fragment analysis in android applications | |
CN113434131A (zh) | 编写程序方法、装置、计算机设备和存储介质 | |
Huang et al. | Surrogate: A simulation apparatus for continuous integration testing in service oriented architecture | |
US7577541B1 (en) | Test services provider | |
US20090094583A1 (en) | System and method for testing computer programs | |
CN117149209A (zh) | 一种代码增量编译方法、装置、计算机设备及存储介质 | |
US7082376B1 (en) | State full test method executor | |
Huang et al. | A novel approach to regression test selection for j2ee applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201023 |