CN110851122A - 基础框架包设计方法及装置 - Google Patents

基础框架包设计方法及装置 Download PDF

Info

Publication number
CN110851122A
CN110851122A CN201911077742.3A CN201911077742A CN110851122A CN 110851122 A CN110851122 A CN 110851122A CN 201911077742 A CN201911077742 A CN 201911077742A CN 110851122 A CN110851122 A CN 110851122A
Authority
CN
China
Prior art keywords
file
module
maven
project
creating
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.)
Pending
Application number
CN201911077742.3A
Other languages
English (en)
Inventor
李柏
黄波
刘倍材
潘孝
李如先
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Qianhai Huanlianyi Information Technology Service Co Ltd
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Original Assignee
Shenzhen Qianhai Huanlianyi Information Technology Service Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Qianhai Huanlianyi Information Technology Service Co Ltd filed Critical Shenzhen Qianhai Huanlianyi Information Technology Service Co Ltd
Priority to CN201911077742.3A priority Critical patent/CN110851122A/zh
Publication of CN110851122A publication Critical patent/CN110851122A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基础框架包设计方法及装置,所述基础框架包设计方法包括:创建一个项目文件,将所述项目文件的打包类型设为pom类型;将项目文件内的pom文件的文件路径修改为lls‑buildpom.xml文件路径;在项目文件下创建用于管理项目构建打包插件的管理文件。本发明的有益效果在于:通过本方法设计的基础框架包易用、易维护和易扩展。

Description

基础框架包设计方法及装置
技术领域
本发明涉及软件程序设计领域,尤其是指一种基础框架包设计方法及装置。
背景技术
业务系统,通常需要处理以下问题:统一的报文响应;统一的异常处理;通用的增删查改装置;统一的分页查询等。为了提高代码复用,减低代码的重复开发,通常需要实现一个基础框架,来解决以上的问题。但是现有的一些框架相对复杂,存在易用性差及可扩展性差的问题。
发明内容
本发明所要解决的技术问题是:提供一种易用、易维护和易扩展的框架包设计方案。
为了解决上述技术问题,本发明采用的技术方案为:一种基础框架包设计方法,包括以下步骤,
创建一个项目文件,将所述项目文件的打包类型设为pom类型;
将项目文件内的pom文件的文件路径修改为lls-buildpom.xml文件路径;
在项目文件下创建用于管理项目构建打包插件的管理文件。
进一步的,所述在项目文件下创建用于管理项目构建打包插件的管理文件包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-dependencies,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理第三方jar包的pom.xml文件。
进一步的,所述在项目文件下创建用于管理项目构建打包插件的管理文件还包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-parent,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理jar包的pom.xml文件。
进一步的,所述在项目文件下创建用于管理项目构建打包插件的管理文件还包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-core,所述Maven模块文件的文件打包类型设为jar类型。
进一步的,所述在项目文件下创建用于管理项目构建打包插件的管理文件还包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-web,所述Maven模块文件的文件打包类型设为jar类型。
为了解决上述技术问题,本发明采用的另一个技术方案为:一种基础框架包设计装置,所述基础框架包设计装置包括,
项目文件创建模块,用于创建一个项目文件,将所述项目文件的打包类型设为pom类型;
文件路径修改模块,用于将项目文件内的pom文件的文件路径修改为lls-buildpom.xml文件路径;
管理文件创建模块,用于在项目文件下创建用于管理项目构建打包插件的管理文件。
进一步的,所述管理文件创建模块用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-dependencies,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理第三方jar包的pom.xml文件。
进一步的,所述管理文件创建模块还用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-parent,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理jar包的pom.xml文件。
进一步的,所述管理文件创建模块还用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-core,所述Maven模块文件的文件打包类型设为jar类型。
进一步的,所述管理文件创建模块还用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-web,所述Maven模块文件的文件打包类型设为jar类型。
本发明的有益效果在于:通过创建一个项目文件,将所述项目文件的打包类型设为pom类型后,将项目文件内的pom文件的文件路径修改为lls-buildpom.xml文件路径,并在项目文件下创建用于管理项目构建打包插件的管理文件,能够使得基础框架包易用、易维护和易扩展。
附图说明
下面结合附图详述本发明的具体结构。
图1为本发明的基础框架包设计方法流程图;
图2为本发明的基础框架包设计装置模块框图;
图3为本发明的基础框架的代码结构图;
图4为本发明的基础框架包结构设计图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
以下技术方案是基于Spring Boot、Dubbo和Mybatis等框架实现的。
如图3所示为基础框架的代码结构图,其中代码结构的组成部分包括;
lls-sample:业务系统名称;
lls-sample-service-api:定义业务接口和实体类。其中实体类的成员变量和对应数据库表的字段保持一致,因为数据库表结构一般都会有一些相同的字段,所以将相同字段定义在一个基类里,实体类会继承基类。service-api以jar包方式被调用,不可单独启动;
lls-sample-service:service模块实现service-api定义的接口,是实现具体的业务逻辑并可独立启动的服务,它需要依赖Spring Boot、Dubbo及Mybatis的相关jar包,以及需要实现统一异常处理和统一报文响应,还需要一些工具类来处理字符串、日期等操作,并且还依赖定义的实体类,但不需要Spring Boot web相关的依赖包。
lls-sample-web:web模块定义了HTTP接口,对外提供HTTP接口服务,它可独立启动,web会通过调用service-api的接口,调用service的业务功能,需要依赖Spring Boot的相关包,特别是web相关的依赖包,以及需要统一异常处理和统一报文响应,还需要一些工具类来处理字符串、日期等操作,并且还依赖定义的实体类。
本发明基于业务系统的具体要求,提供一种基础框架包的设计方法,通过此方法,实现基础架构的易维护、易用及易扩展,如图4的基础框架包结构设计图所示:
组件说明:
lls-build:管理项目构建打包的插件,主要管理插件版本,比如:maven-compiler-plugin和maven-javadoc-plugin等,它是最顶级的父pom,可以被其他pom继承。样例如下:
Figure BDA0002263002710000041
Figure BDA0002263002710000051
lls-dependencies:管理第三方的jar包,主要包的版本,比如:mysql-connector-java和mybatis等,它继承lls-build,也就是说,它可以直接引用lls-build的插件。样例如下:
Figure BDA0002263002710000052
lls-parent:管理自有的包,包括lls-core、lls-web等,主要管理包的版本,它是一个pom,它继承lls-dependencies,也就是说它可以直接引用lls-dependencies的第三jar包和lls-build中的插件。样例如下:
Figure BDA0002263002710000053
Figure BDA0002263002710000061
lls-core:实现基本的增删查改功能及分页查询,被service模块所依赖。如果service模块需要一些新的方法,并且这些方法其他系统也会用到,那么可以在这里实现这些方法,这样其他系统也可以使用。
lls-web:实现统一异常处理、统一报文响应等,会被web模块所依赖,如果web模块需要一些新的方法,并且这些方法其他系统也会用到,那么可以在这里实现这些方法,这样其他系统也可以使用。
service模块和web模块并不直接依赖lls-core,而是通过lls-parent依赖,在lls-core和lls-web版本发生变化时,service模块和web模块并不需要做改动,对lls-build里的插件和lls-dependencies中的第三包也是同样的道理。以下是service模块的pom.xml配置:
Figure BDA0002263002710000062
Figure BDA0002263002710000071
上面的包并不需要填写版本号,service模块通过继承lls-parent,可以直接使用lls-parent、lls-dependencies和lls-build中的包和插件。
如图1所示,本发明第一实施例为:一种基础框架包设计方法,包括以下步骤,
S10、创建一个项目文件,将所述项目文件的打包类型设为pom类型;
S20、将项目文件内的pom文件的文件路径修改为lls-buildpom.xml文件路径;
S30、在项目文件下创建用于管理项目构建打包插件的管理文件。
本实施例中,项目文件的名称为lls-framewrok,创建好项目文件后,打开项目文件内的pom文件,修改artifactId为lls-buildpom.xml文件路径,接着就可以创建一个管理文件,用来管理项目构建打包的插件。
进一步的,所述在项目文件下创建用于管理项目构建打包插件的管理文件包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-dependencies,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理第三方jar包的pom.xml文件。
进一步的,所述在项目文件下创建用于管理项目构建打包插件的管理文件还包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-parent,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理jar包的pom.xml文件。
进一步的,所述在项目文件下创建用于管理项目构建打包插件的管理文件还包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-core,所述Maven模块文件的文件打包类型设为jar类型。
进一步的,所述在项目文件下创建用于管理项目构建打包插件的管理文件还包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-web,所述Maven模块文件的文件打包类型设为jar类型。
如图2所示,本发明第二实施例为:一种基础框架包设计装置,所述基础框架包设计装置包括,
项目文件创建模块10,用于创建一个项目文件,将所述项目文件的打包类型设为pom类型;
文件路径修改模块20,用于将项目文件内的pom文件的文件路径修改为lls-buildpom.xml文件路径;
管理文件创建模块30,用于在项目文件下创建用于管理项目构建打包插件的管理文件。
进一步的,所述管理文件创建模块30用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-dependencies,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理第三方jar包的pom.xml文件。
进一步的,所述管理文件创建模块30还用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-parent,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理jar包的pom.xml文件。
进一步的,所述管理文件创建模块30还用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-core,所述Maven模块文件的文件打包类型设为jar类型。
进一步的,所述管理文件创建模块30还用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-web,所述Maven模块文件的文件打包类型设为jar类型。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述基础框架包设计方法的具体实现过程,可以参考前述装置实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
综上所述,上述实施例提供的基础框架包设计方式,业务系统各模块分别引入lls-core和lls-web包即可实现设计要求,每个包都有明确的功能定位,如果需要新增功能或者修改某个功能,只需在对应包实施即可,并且也可以通过额外新增一个包来完善现有的基础包设计。lls-parent包利用Maven标签可继承的特性,对所有的基础包进行版本管理,为包的版本升级提供便利。
本发明实施例装置中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述装置的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基础框架包设计方法,其特征在于:包括以下步骤,
创建一个项目文件,将所述项目文件的打包类型设为pom类型;
将项目文件内的pom文件的文件路径修改为lls-buildpom.xml文件路径;
在项目文件下创建用于管理项目构建打包插件的管理文件。
2.如权利要求1所述的基础框架包设计方法,其特征在于:所述在项目文件下创建用于管理项目构建打包插件的管理文件包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-dependencies,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理第三方jar包的pom.xml文件。
3.如权利要求2所述的基础框架包设计方法,其特征在于:所述在项目文件下创建用于管理项目构建打包插件的管理文件还包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-parent,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理jar包的pom.xml文件。
4.如权利要求3所述的基础框架包设计方法,其特征在于:所述在项目文件下创建用于管理项目构建打包插件的管理文件还包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-core,所述Maven模块文件的文件打包类型设为jar类型。
5.如权利要求4所述的基础框架包设计方法,其特征在于:所述在项目文件下创建用于管理项目构建打包插件的管理文件还包括,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-web,所述Maven模块文件的文件打包类型设为jar类型。
6.一种基础框架包设计装置,其特征在于:所述基础框架包设计装置包括,
项目文件创建模块,用于创建一个项目文件,将所述项目文件的打包类型设为pom类型;
文件路径修改模块,用于将项目文件内的pom文件的文件路径修改为lls-buildpom.xml文件路径;
管理文件创建模块,用于在项目文件下创建用于管理项目构建打包插件的管理文件。
7.如权利要求6所述的基础框架包设计装置,其特征在于:所述管理文件创建模块用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-dependencies,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理第三方jar包的pom.xml文件。
8.如权利要求7所述的基础框架包设计装置,其特征在于:所述管理文件创建模块还用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-parent,所述Maven模块文件的文件打包类型设为pom类型;
在Maven模块文件下生成一个用于管理jar包的pom.xml文件。
9.如权利要求8所述的基础框架包设计装置,其特征在于:所述管理文件创建模块还用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-core,所述Maven模块文件的文件打包类型设为jar类型。
10.如权利要求9所述的基础框架包设计装置,其特征在于:所述管理文件创建模块还用于,
在项目文件下创建一个Maven模块文件,将Maven模块文件的名称设为lls-web,所述Maven模块文件的文件打包类型设为jar类型。
CN201911077742.3A 2019-11-06 2019-11-06 基础框架包设计方法及装置 Pending CN110851122A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911077742.3A CN110851122A (zh) 2019-11-06 2019-11-06 基础框架包设计方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911077742.3A CN110851122A (zh) 2019-11-06 2019-11-06 基础框架包设计方法及装置

Publications (1)

Publication Number Publication Date
CN110851122A true CN110851122A (zh) 2020-02-28

Family

ID=69599029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911077742.3A Pending CN110851122A (zh) 2019-11-06 2019-11-06 基础框架包设计方法及装置

Country Status (1)

Country Link
CN (1) CN110851122A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153920A1 (en) * 2008-12-17 2010-06-17 Michael Stavros Bonnet Method for building and packaging sofware
CN108073390A (zh) * 2016-11-08 2018-05-25 北京京东尚科信息技术有限公司 统一管理多个工程中配置文件的方法、装置及系统
CN108491193A (zh) * 2018-04-11 2018-09-04 厦门海迈科技股份有限公司 Eclipse RCP产品构建方法、装置、终端及介质
US10095511B1 (en) * 2017-02-23 2018-10-09 Amdocs Development Limited System, method, and computer program for converting a current Java project to a Maven project
CN108958753A (zh) * 2018-07-13 2018-12-07 中国银行股份有限公司 一种代码打包部署方法及装置
CN109271198A (zh) * 2018-08-16 2019-01-25 中国平安人寿保险股份有限公司 基于Docker容器的镜像打包方法、装置及电子设备
CN109597610A (zh) * 2018-12-10 2019-04-09 南京华苏科技有限公司 一种基于微服务架构的应用结构组件化构建方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153920A1 (en) * 2008-12-17 2010-06-17 Michael Stavros Bonnet Method for building and packaging sofware
CN108073390A (zh) * 2016-11-08 2018-05-25 北京京东尚科信息技术有限公司 统一管理多个工程中配置文件的方法、装置及系统
US10095511B1 (en) * 2017-02-23 2018-10-09 Amdocs Development Limited System, method, and computer program for converting a current Java project to a Maven project
CN108491193A (zh) * 2018-04-11 2018-09-04 厦门海迈科技股份有限公司 Eclipse RCP产品构建方法、装置、终端及介质
CN108958753A (zh) * 2018-07-13 2018-12-07 中国银行股份有限公司 一种代码打包部署方法及装置
CN109271198A (zh) * 2018-08-16 2019-01-25 中国平安人寿保险股份有限公司 基于Docker容器的镜像打包方法、装置及电子设备
CN109597610A (zh) * 2018-12-10 2019-04-09 南京华苏科技有限公司 一种基于微服务架构的应用结构组件化构建方法

Similar Documents

Publication Publication Date Title
US11099823B2 (en) Systems and methods for transformation of reporting schema
US6381743B1 (en) Method and system for generating a hierarchial document type definition for data interchange among software tools
Davis GME: the generic modeling environment
US7194485B2 (en) Mapping XML schema components to qualified java components
US7509327B2 (en) Business data migration using metadata
US20130332449A1 (en) Generating data processing code from a directed acyclic graph
US7523461B2 (en) Modification of logic in an application
CN111694613B (zh) 应用程序模块间的解耦方法、电子装置及存储介质
CN111443901B (zh) 一种基于Java反射的业务扩展方法及装置
CN109976803B (zh) 一种文件的生成方法及装置
US20060010419A1 (en) Providing information to an isolated hosted object via system-created variable objects
CN1855057A (zh) 在OSGi服务平台上提供包捆组终止的系统和方法
CN111125064A (zh) 一种生成数据库模式定义语句的方法和装置
CN112685020A (zh) 动态创建服务接口的方法、装置、电子设备及存储介质
CN110018835B (zh) Yang模型配置数据处理方法及装置、终端设备及存储介质
CN112965721A (zh) 基于Android的项目编译方法、装置、计算机设备及存储介质
US20210216526A1 (en) Autonomous self-healing application data validation using database configurations
CN102841785A (zh) 一种文件句柄关闭操作的方法及装置
CN110851122A (zh) 基础框架包设计方法及装置
CN112100260A (zh) 一种基于接口引擎的多应用数据融合的方法及系统
US7007280B1 (en) Schema driven management of a component-based application
US7861214B2 (en) Computer method and apparatus for collapsing programming metamodels
CN114819631A (zh) 一种多任务的可视化方法、装置、计算机设备及存储介质
US9477821B2 (en) Generic feature-licensing framework
CN108228708B (zh) 大数据etl系统及其调度方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200228

RJ01 Rejection of invention patent application after publication