CN113760292A - 开发应用程序的方法、装置、电子设备和存储介质 - Google Patents

开发应用程序的方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113760292A
CN113760292A CN202110002809.8A CN202110002809A CN113760292A CN 113760292 A CN113760292 A CN 113760292A CN 202110002809 A CN202110002809 A CN 202110002809A CN 113760292 A CN113760292 A CN 113760292A
Authority
CN
China
Prior art keywords
file
template
application program
creating
description
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
CN202110002809.8A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202110002809.8A priority Critical patent/CN113760292A/zh
Publication of CN113760292A publication Critical patent/CN113760292A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本发明实施例公开了一种开发应用程序的方法、装置、电子设备和存储介质,该方法包括:加载框架模板,并根据框架模板生成目标应用程序的框架;获取用户选择的领域描述文件,并根据用户在领域描述文件中提供的描述数据在目标应用程序的框架下创建领域对象;根据结构化查询语言SQL映射模板为领域对象创建SQL映射文件。本发明实施例能够提高应用程序的开发效率。

Description

开发应用程序的方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术,尤其涉及一种开发应用程序的方法、装置、电子设备和存储介质。
背景技术
随着计算机技术的高速发展,应用程序的更新换代速度越来越快,对应用程序的开发效率要求也越来越高。在实现本发明的过程中,发明人发现,现有的应用程序开发方法,主要依赖人工操作,开发效率不高。
发明内容
本发明实施例提供一种开发应用程序的方法、装置、电子设备和存储介质,能够提高应用程序的开发效率。
第一方面,本发明实施例提供一种开发应用程序的方法,所述方法包括:
加载框架模板,并根据所述框架模板生成目标应用程序的框架;
获取用户选择的领域描述文件,并根据所述用户在所述领域描述文件中提供的描述数据在所述目标应用程序的框架下创建领域对象;
根据结构化查询语言SQL映射模板为所述领域对象创建SQL映射文件。
第二方面,本发明实施例提供一种开发应用程序的装置,包括:
生成模块,用于加载框架模板,并根据所述框架模板生成目标应用程序的框架;
第一创建模块,用于获取用户选择的领域描述文件,并根据所述用户在所述领域描述文件中提供的描述数据在所述目标应用程序的框架下创建领域对象;
第二创建模块,用于根据结构化查询语言SQL映射模板为所述领域对象创建SQL映射文件。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的开发应用程序的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的开发应用程序的方法。
本发明实施例中,可以加载框架模板,并根据框架模板生成目标应用程序的框架,获取用户选择的领域描述文件,并根据用户在领域描述文件中提供的描述数据在目标应用程序的框架下创建领域对象,根据SQL映射模板为领域对象创建SQL映射文件,即本发明实施例中,可以通过预先创建的框架模板、领域描述文件及SQL映射模板自动创建应用程序,用户只需要根据模板要求提供相应数据即可,节省了开发时间和开发成本,提高了应用程序的开发效率。
附图说明
图1是本发明实施例提供的开发应用程序的方法的一个流程示意图。
图2是本发明实施例提供的开发应用程序的方法的另一流程示意图。
图3是本发明实施例提供的框架模板的一个结构示意图。
图4是本发明实施例提供的领域描述文件的一个结构示意图。
图5是本发明实施例提供的一个类型映射关系示意图。
图6是本发明实施例提供的开发应用程序的装置的一个结构示意图。
图7是本发明实施例提供的开发应用程序的系统的一个结构示意图。
图8是本发明实施例提供的电子设备的一个结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的开发应用程序的方法的一个流程示意图,该方法可以由本发明实施例提供的开发应用程序的装置来执行,该装置可采用软件和/或硬件的方式实现。在一个具体的实施例中,该装置可以集成在电子设备中。电子设备可以是平板电脑、笔记本电脑、台式电脑等具备储存单元并安装有微处理器而具有运算能力的计算机设备。以下实施例将以该装置集成在电子设备中为例进行说明。参考图1,该方法具体可以包括如下步骤:
步骤101,加载框架模板,并根据框架模板生成目标应用程序的框架。
具体地,框架模板可以按照应用程序的类型进行分类,比如框架模板可以包括Worker类型应用程序的框架模板和Web类型应用程序的框架模板。其中,Worker类型应用程序的框架模板中的层级架构包括数据操作层(Dao层)、领域对象层(Domain层)和服务层(Service层),Web类型应用程序的框架模板中的层级架构包括数据操作层(Dao层)、领域对象层(Domain层)、服务层(Service层)和展示层(Web层)。
其中,领域对象层,用于定义应用程序的领域对象,领域对象可以包括用户创建的领域对象和应用程序自动生成的领域对象,具体实现中,可以将领域对象的实现源代码存放在领域对象层。
数据操作层,用于定义接口和实现类,在接口中需要定义底层数据的增、删、改、查等操作。
服务层,用于实现业务逻辑,比如可以将业务逻辑的实现代码、应用配置文件、启动脚本文件等存放在服务层。
展示层,用于提供超文本传输协议(Hyper Text Transfer Protocol,HTTP)接口供用户在页面与应用程序通信交互,展示层具备接收HTTP请求,并把请求交给服务层处理,最终返回请求数据的能力,展示层可以存放应用控制器、应用配置文件或者页面等信息。
具体地,可以根据用户指定的应用程序类型,在集成开发环境(IntegratedDevelopment Environment,IDE)中加载对应类型的框架模板,所加载的框架模板可以来自电子设备本地,也可以来自服务器。比如,用户指定的应用程序类型为Worker类型,则加载Worker类型的框架模板,用户指定的应用程序类型为Web类型,则加载Web类型的框架模板。在一个具体的实施例中,集成开发环境可以是Maven,Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当使用Maven的时候,可以用一个明确定义的项目对象模型来描述项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
具体实现中,框架模板可通过已开发的成熟应用程序创建,具体创建方法可如下:
(1)抽象出已开发应用程序的各个功能模块,得到层级架构。
比如,如果已开发应用程序为Worker类型应用程序,则得到的层级架构中可以包括数据操作层、领域对象层和服务层,如果已开发应用程序为Web类型应用程序,则得到的层级架构中可以包括数据操作层、领域对象层、服务层和展示层。
(2)提取已开发应用程序的基础代码和基础配置,得到模板文件。
比如,在抽象出已开发应用程序的各个功能模块后,可以保留数据管理服务接口定义及实现代码、应用的基础配置、应用的启动脚本等,得到模板文件。模板文件可以是Velocity模板实现的,Velocity是一个基于Java的模板引擎,它允许使用模板语言来引用由Java代码定义的对象。在模板文件中,可以有占位符,比如作者、包名信息可以是占位符。
(3)根据层级架构和模板文件创建框架模板。
具体地,框架模板中应用程序的每个功能模块对外的表象形式就是一个文件夹目录,目录中包括用于存放源代码的文件夹、用于存放配置文件的文件夹及用于描述依赖关系的Pom文件。
具体地,当在Maven中加载框架模板之后,可以遍历该框架模板的每一层级架构,生成与模板文件对应的目标文件,从而得到目标应用程序的框架,得到的目标应用程序的框架可以存储在用户指定的存储位置。比如,在遍历框架模板时,可以按照框架模板的架构创建对应的目标文件,当遇到template文件,可以创建与template文件对应的目标文件,并以目标应用程序的名称命名该目标文件;当遇到source-dir文件,则可以创建与source-dir文件对应的目标文件,即src/main/java文件;当遇到resource-dir文件,则可以创建与resource-dir文件对应的目标文件,即src/main/resource文件;当创建的目标文件中有占位符时,可以根据实际情况将目标文件中的占位符替换成实际数据;另外,当遇到Pom文件时,可以创建Pom文件对应的目标文件,并在该目标文件中引入第三方的Maven坐标地址,比如groupId、artifactId、版本信息等。
步骤102,获取用户选择的领域描述文件,并根据用户在领域描述文件中提供的描述数据在目标应用程序的框架下创建领域对象。
示例地,可以预先创建领域描述文件,领域描述文件用于提供领域对象的创建方法,预先创建的领域描述文件可以认为是创建领域对象的一个模板文件。领域对象可以是领域内的概念类或现实世界中对象的可视化表示,比如一个电商系统,其中的用户、商品、订单等可以用领域对象来表示。领域描述文件中可以包括对象定义描述项和对象属性描述项,对象定义描述项中可以包括领域对象的名称、包名、数据表的名称等项,对象属性描述项中可以包括属性名称、属性类型、属性对应在数据表中字段的名称、数据库中的数据类型、数据库中字段是否允许为空、属性的注释等项。
在创建好领域描述文件之后,可以在电子设备本地或服务器存储领域描述文件,得到领域描述文件的文件存储路径。当开发目标应用程序时,用户可以通过预设界面提供领域描述文件的文件存储路径,电子设备根据用户提供的文件存储路径获取该领域描述文件,用户可以在该领域描述文件中提供描述数据,提供的描述数据可以包括对象定义描述项对应的对象定义描述数据,对象属性描述项对应的对象属性描述数据,电子设备根据用户在领域描述文件中提供的描述数据在目标应用程序的框架下创建领域对象。
在一个具体的实施例中,为了便于用户操作,使描述数据更为简洁,可以预先设置简易属性类型描述和具体属性类型描述的类型映射关系,在对象属性描述项中指定属性类型时,可以支持用户输入简易属性类型描述数据,当获取用户在领域描述文件中指定的对象定义描述数据和对象属性描述数据之后,可以根据类型映射关系将对象属性描述数据中的简易属性类型描述数据映射成具体属性类型描述数据,然后再根据对象定义描述数据和对象属性描述数据在目标应用程序的框架下创建领域对象。
具体实现中,在根据对象定义描述数据和对象属性描述数据在目标应用程序的框架下创建领域对象时,可以结合框架模板的领域对象层中申明的领域对象类模板来创建,领域对象类模板中定义了领域对象的继承关系、通用属性信息等,通用属性信息包括主键、创建时间(created)、修改时间(modified)、创建人(creator)、修改人(editor)、版本信息(version)等。所创建的领域对象可以存储在目标应用程序框架的领域对象层,所创建的领域对象可以包括多个。
步骤103,根据SQL映射模板为领域对象创建SQL映射文件。
具体地,可以按照如下方式为领域对象创建SQL映射文件:
(1)编译领域对象,并通过反射机制从编译后的领域对象中获取SQL填充数据。
比如,可以将领域对象的源代码编译成class字节码文件,然后通过反射机制从class字节码文件获取SQL填充数据,获取的SQL填充数据比如类的名称、属性信息、以及根据作用在类上与数据表名相关的注解信息来获取的数据表,根据作用在属性上与属性相关的注解信息来获取的列名信息等。
(2)根据SQL填充数据和SQL映射模板为领域对象创建SQL映射文件。
比如,可以根据获取的SQL填充数据更新SQL映射模板中的对应数据,从而得到为领域对象创建的SQL映射文件。其中,SQL映射文件中包括SQL语句的映射信息(即语句id与SQL语句的对应关系),命名空间、数据查询和数据修改所需的动态查询条件信息,数据表、列信息,以及领域对象属性和数据库表中列名的映射关系等,一个领域对象对应有一个SQL映射文件。
在一个具体的实施例中,为领域对象创建的SQL映射文件可以存储在目标应用程序框架的服务层,服务层有SQL映射文件夹,可以将为每个领域对象创建的SQL映射文件都加入到该SQL映射文件夹中。具体实现中,目标应用程序框架的数据操作层的接口和实现类会应用服务层存储的领域对象的SQL映射文件,根据SQL映射文件中的语句id来引用对应的SQL语句。
本发明实施例中,可以加载框架模板,并根据框架模板生成目标应用程序的框架,获取用户选择的领域描述文件,并根据用户在领域描述文件中提供的描述数据在目标应用程序的框架下创建领域对象,根据SQL映射模板为领域对象创建SQL映射文件,即本发明实施例中,可以通过预先创建的框架模板、领域描述文件及SQL映射模板自动创建应用程序,用户只需要根据模板要求提供相应数据即可,节省了开发时间和开发成本,提高了应用程序的开发效率。
下面以创建一个具体类型的应用程序为例,说明本发明实施例的开发应用程序的方法,如图2所示,包括以下步骤:
步骤201,加载框架模板,并根据框架模板生成目标应用程序的框架。
比如,以要创建一个Web类型应用程序为例,可以根据用户指定的应用程序类型在Maven中加载Web类型应用程序的框架模板,在一个具体的实施例中,所加载的Web类型应用程序的框架模板可如图3所示,其中,doc目录用来存放应用程序的文档信息,doc目录下db文件夹用于存放数据库的建库SQL语句,table文件夹用来存放应用程序的建表SQL语句;template-dao文件夹是应用程序的数据操作层,里面用来封装数据的增、删、改、查的基本数据操作;template-domain文件夹是应用程序的领域对象层,里面用于存放应用程序的领域对象;template-service文件夹是应用程序的服务层,里面用于提供数据管理的抽象服务接口及实现,该文件夹下assembly文件夹用于存放Worker类型的启动脚本文件,resource-dir用于存放应用程序的配置文件,source-dir用于存放应用程序的源代码,src.test.java文件夹用于存放应用程序的单元测试代码。template-web是Web类型应用的展示层,提供超文本传输协议(Hyper Text Transfer Protocol,HTTP)接口供用户在页面与应用程序通信交互。
在加载Web类型应用程序的框架模板之后,可以遍历该框架模板的每一层级架构,生成与模板文件对应的目标文件,从而得到目标应用程序的框架,得到目标应用程序的框架可以存储在用户指定的存储位置。比如,在遍历框架模板时,当遇到template文件,可以创建与template文件对应的目标文件,并以目标应用程序的名称命名该目标文件;当遇到source-dir文件,则可以创建与source-dir文件对应的目标文件,即src/main/java文件;当遇到resource-dir文件,则可以创建与resource-dir文件对应的目标文件,即src/main/resource文件;当创建的目标文件中有占位符时,可以根据实际情况将目标文件中的占位符替换成实际数据;另外,当遇到Pom文件时,可以创建Pom文件对应的目标文件,并在该目标文件中引入第三方的Maven坐标地址,比如groupId、artifactId、版本信息等。
步骤202,获取用户提供的文件存储路径,根据文件存储路径获取领域描述文件。
示例地,可以预先创建领域描述文件,领域描述文件用于提供领域对象的创建方法,预先创建的领域描述文件可以认为是创建领域对象的一个模板文件。领域对象可以是领域内的概念类或现实世界中对象的可视化表示,比如一个电商系统,其中的用户、商品、订单等可以用领域对象来表示。领域描述文件中可以包括对象定义描述项和对象属性描述项,对象定义描述项中可以包括领域对象的类名、包名、数据表的名称等项,对象属性描述项中可以包括属性名称、属性类型、属性对应在数据表中字段的名称、数据库中的数据类型、数据库中字段是否允许为空、属性的注释等项。
在创建好领域描述文件之后,可以存储领域描述文件,得到领域描述文件的文件存储路径。当开发目标应用程序时,用户可以通过预设界面提供领域描述文件的文件存储路径,电子设备根据用户提供的文件存储路径获取该领域描述文件。在一个具体的实施例中,所获取的一个领域描述文件可如图4所示。
步骤203,获取用户在领域描述文件中指定的对象定义描述数据和对象属性描述数据。
用户可以在该领域描述文件中指定描述数据,指定的描述数据可以包括对象定义描述项对应的对象定义描述数据,对象属性描述项对应的对象属性描述数据,电子设备根据用户在领域描述文件中提供的描述数据在目标应用程序的框架下创建领域对象。
在一个具体的实施例中,为了便于用户操作,使描述数据更为简洁,可以预先设置简易属性类型描述和具体属性类型描述的类型映射关系,当用户在对象属性描述项中指定属性类型时,可以支持用户输入简易属性类型描述数据,当获取用户在领域描述文件中指定的对象定义描述数据和对象属性描述数据之后,可以根据类型映射关系将对象属性描述数据中的简易属性类型描述数据映射成具体属性类型描述数据,然后再根据对象定义描述数据和对象属性描述数据在目标应用程序的框架下创建领域对象。在一个具体的实施例中,预先设置的类型映射关系可如图5所示。
步骤204,根据属性映射关系将对象属性描述数据中的简易属性类型描述映射成具体属性类型描述。
比如,当用户在对象属性描述项中指定属性类型为Char时,可以将Char类型映射成Character.class,当用户在对象属性描述项中指定属性类型为json时,可以将json类型映射成JSONObject.class。
步骤205,根据对象定义描述数据和对象属性描述数据在目标应用程序的框架下创建领域对象。
具体地,可以将对象定义描述数据和对象属性描述数据与目标应用程序框架的领域对象层中申明的领域对象类模板结合来创建领域对象,领域对象类模板中定义了领域对象的继承关系、通用属性信息等,通用属性信息比如主键、创建时间(created)、修改时间(modified)、创建人(creator)、修改人(editor)、版本信息(version)等。所创建的领域对象可以存储在目标应用程序框架的领域对象层,所创建的领域对象可以包括多个。
步骤206,编译领域对象,并通过反射机制从编译后的领域对象中获取SQL填充数据。
比如,可以将领域对象的源代码编译成class字节码文件,然后通过反射机制从class字节码文件获取SQL填充数据,获取的SQL填充数据比如类的名称、属性信息、以及根据作用在类上与数据表名相关的注解信息来获取的数据表,根据作用在属性上与属性相关的注解信息来获取的列名信息等。
步骤207,根据SQL填充数据和SQL映射模板为领域对象创建SQL映射文件。
比如,可以根据获取的SQL填充数据更新SQL映射模板中的对应数据,从而得到为领域对象创建的SQL映射文件。其中,SQL映射文件中包括SQL语句的映射信息(即语句id与SQL语句的对应关系),命名空间、数据查询和数据修改所需的动态查询条件信息,数据表、列信息,以及领域对象属性和数据库表中列名的映射关系等,一个领域对象对应有一个SQL映射文件。
在一个具体的实施例中,为领域对象创建的SQL映射文件可以存储在目标应用程序框架的服务层,服务层有SQL映射文件夹,可以将为每个领域对象创建的SQL映射文件都加入到该SQL映射文件夹中。具体实现中,目标应用程序框架的数据操作层的接口和实现类会应用服务层存储的领域对象的SQL映射文件,根据SQL映射文件中的语句id来引用对应的SQL语句。
步骤208,创建数据库,并在目标应用程序的框架下生成数据库的引用信息。
即还可以为目标应用程序创建数据库,在创建好数据库之后,可以生成数据库的引用信息,并将数据库的引用信息保存在目标应用程序框架的服务层,数据库的引用信息可以包括用户指定的数据网际互连协议(Internet Protocol,IP),端口,用户名、密码等。
步骤209,在数据库中创建数据表,并在目标应用程序的框架下生成数据表的SQL语句。
具体地,可以在目标应用程序框架的服务层生成数据表的SQL语句。
本发明实施例中,可以加载框架模板,并根据框架模板生成目标应用程序的框架,获取用户选择的领域描述文件,并根据用户在领域描述文件中提供的描述数据在目标应用程序的框架下创建领域对象,根据SQL映射模板为领域对象创建SQL映射文件,即本发明实施例中,可以通过预先创建的框架模板、领域描述文件及SQL映射模板自动创建应用程序,用户只需要根据模板要求提供相应数据即可,节省了开发时间和开发成本,提高了应用程序的开发效率。
图6是本发明是实施例提供的开发应用程序的装置的一个结构图,该装置适用于执行本发明实施例提供的开发应用程序的方法。如图6所示,该装置具体可以包括:
生成模块301,用于加载框架模板,并根据所述框架模板生成目标应用程序的框架;
第一创建模块302,用于获取用户选择的领域描述文件,并根据所述用户在所述领域描述文件中提供的描述数据在所述目标应用程序的框架下创建领域对象;
第二创建模块303,用于根据结构化查询语言SQL映射模板为所述领域对象创建SQL映射文件。
一实施例中,所述装置还包括第三创建模块;
所述第三创建模块用于,抽象出已开发应用程序的各个功能模块,得到层级架构;提取所述已开发应用程序的基础代码和基础配置,得到模板文件;根据所述层级架构和所述模板文件创建所述框架模板。
一实施例中,所述生成模块301根据所述框架模板生成目标应用程序的框架,包括:
遍历所述框架模板的每一层级架构,生成与所述模板文件对应的目标文件。
一实施例中,所述第一创建模块302获取用户选择的领域描述文件,包括:
获取所述用户提供的文件存储路径;
根据所述文件存储路径获取所述领域描述文件。
一实施例中,所述第一创建模块302根据所述用户在所述领域描述文件中提供的描述数据在所述目标应用程序的框架下创建领域对象,包括:
获取所述用户在所述领域描述文件中提供的对象定义描述数据和对象属性描述数据;
根据所述对象定义描述数据和所述对象属性描述数据在所述目标应用程序的框架下创建所述领域对象。
一实施例中,所述对象属性描述数据中包括简易属性类型描述,所述第一创建模块302在根据所述对象定义描述数据和所述对象属性描述数据在所述目标应用程序的框架下创建所述领域对象之前,还用于:
根据属性映射关系将所述简易属性类型描述映射成具体属性类型描述。
一实施例中,所述第二创建模块303根据SQL映射模板为所述领域对象创建SQL映射文件,包括:
编译所述领域对象,并通过反射机制从编译后的领域对象中获取SQL填充数据;
根据所述SQL填充数据和所述SQL映射模板为所述领域对象创建SQL映射文件。
一实施例中,所述装置还包括第四创建模块;
所述第四创建模块用于,创建数据库,并在所述目标应用程序的框架下生成所述数据库的引用信息。
一实施例中,所述第四创建模块还用于,在所述数据库中创建数据表,并在所述目标应用程序的框架下生成所述数据表的SQL语句。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例的装置,可以加载框架模板,并根据框架模板生成目标应用程序的框架,获取用户选择的领域描述文件,并根据用户在领域描述文件中提供的描述数据在目标应用程序的框架下创建领域对象,根据SQL映射模板为领域对象创建SQL映射文件,即本发明实施例中,可以通过预先创建的框架模板、领域描述文件及SQL映射模板自动创建应用程序,用户只需要根据模板要求提供相应数据即可,节省了开发时间和开发成本,提高了应用程序的开发效率。
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例提供的开发应用程序的方法。
本发明实施例还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例提供的开发应用程序的方法。
图7示出了可以应用本发明实施例的开发应用程序的方法或开发应用程序的装置的示例性系统架构600。
如图7所示,系统架构600可以包括电子设备601、网络602和服务器603。网络602用以在电子设备601和服务器603之间提供通信链路的介质。网络602可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用电子设备601通过网络602与服务器603交互,以接收或发送消息等。电子设备601上可以安装有各种客户端应用,例如企业应用客户端、电商应用客户端、网页浏览器应用、搜索类应用、即时通信工具和邮箱客户端等。
电子设备601可以是具有显示屏并且支持各种客户端的各种电子设备,包括但不限于平板电脑、膝上型便携计算机和台式计算机等等。
服务器603可以是提供各种服务的服务器,例如提供数据存储服务的服务器。服务器可以对接收到的请求进行处理,并将请求数据反馈给电子设备。
需要说明的是,本发明实施例所提供的开发应用程序的方法一般由电子设备执行,相应地,开发应用程序的装置一般设置于电子设备中。
应该理解,图7中的电子设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的电子设备、网络和服务器。
下面参考图8,其示出了适于用来实现本发明实施例的电子设备的计算机系统700的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元也可以设置在处理器中,例如,可以描述为:一种处理器包括生成模块、第一创建模块和第二创建模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:加载框架模板,并根据所述框架模板生成目标应用程序的框架;获取用户选择的领域描述文件,并根据所述用户在所述领域描述文件中提供的描述数据在所述目标应用程序的框架下创建领域对象;根据结构化查询语言SQL映射模板为所述领域对象创建SQL映射文件。
根据本发明实施例的技术方案,可以加载框架模板,并根据框架模板生成目标应用程序的框架,获取用户选择的领域描述文件,并根据用户在领域描述文件中提供的描述数据在目标应用程序的框架下创建领域对象,根据SQL映射模板为领域对象创建SQL映射文件,即本发明实施例中,可以通过预先创建的框架模板、领域描述文件及SQL映射模板自动创建应用程序,用户只需要根据模板要求提供相应数据即可,节省了开发时间和开发成本,提高了应用程序的开发效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种开发应用程序的方法,其特征在于,包括:
加载框架模板,并根据所述框架模板生成目标应用程序的框架;
获取用户选择的领域描述文件,并根据所述用户在所述领域描述文件中提供的描述数据在所述目标应用程序的框架下创建领域对象;
根据结构化查询语言SQL映射模板为所述领域对象创建SQL映射文件。
2.根据权利要求1所述的开发应用程序的方法,其特征在于,所述框架模板按照如下方式创建:
抽象出已开发应用程序的各个功能模块,得到层级架构;
提取所述已开发应用程序的基础代码和基础配置,得到模板文件;
根据所述层级架构和所述模板文件创建所述框架模板。
3.根据权利要求2所述的开发应用程序的方法,其特征在于,所述根据所述框架模板生成目标应用程序的框架,包括:
遍历所述框架模板的每一层级架构,生成与所述模板文件对应的目标文件。
4.根据权利要求1所述的开发应用程序的方法,其特征在于,所述获取用户选择的领域描述文件,包括:
获取所述用户提供的文件存储路径;
根据所述文件存储路径获取所述领域描述文件。
5.根据权利要求1所述的开发应用程序的方法,其特征在于,所述根据所述用户在所述领域描述文件中提供的描述数据在所述目标应用程序的框架下创建领域对象,包括:
获取所述用户在所述领域描述文件中提供的对象定义描述数据和对象属性描述数据;
根据所述对象定义描述数据和所述对象属性描述数据在所述目标应用程序的框架下创建所述领域对象。
6.根据权利要求5所述的开发应用程序的方法,其特征在于,所述对象属性描述数据中包括简易属性类型描述,在根据所述对象定义描述数据和所述对象属性描述数据在所述目标应用程序的框架下创建所述领域对象之前,还包括:
根据属性映射关系将所述简易属性类型描述映射成具体属性类型描述。
7.根据权利要求1所述的开发应用程序的方法,其特征在于,所述根据SQL映射模板为所述领域对象创建SQL映射文件,包括:
编译所述领域对象,并通过反射机制从编译后的领域对象中获取SQL填充数据;
根据所述SQL填充数据和所述SQL映射模板为所述领域对象创建SQL映射文件。
8.根据权利要求1所述的开发应用程序的方法,其特征在于,所述方法还包括:
创建数据库,并在所述目标应用程序的框架下生成所述数据库的引用信息。
9.根据权利要求8所述的开发应用程序的方法,其特征在于,所述方法还包括:
在所述数据库中创建数据表,并在所述目标应用程序的框架下生成所述数据表的SQL语句。
10.一种开发应用程序的装置,其特征在于,包括:
生成模块,用于加载框架模板,并根据所述框架模板生成目标应用程序的框架;
第一创建模块,用于获取用户选择的领域描述文件,并根据所述用户在所述领域描述文件中提供的描述数据在所述目标应用程序的框架下创建领域对象;
第二创建模块,用于根据结构化查询语言SQL映射模板为所述领域对象创建SQL映射文件。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9中任一所述的开发应用程序的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至9中任一所述的开发应用程序的方法。
CN202110002809.8A 2021-01-04 2021-01-04 开发应用程序的方法、装置、电子设备和存储介质 Pending CN113760292A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110002809.8A CN113760292A (zh) 2021-01-04 2021-01-04 开发应用程序的方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110002809.8A CN113760292A (zh) 2021-01-04 2021-01-04 开发应用程序的方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN113760292A true CN113760292A (zh) 2021-12-07

Family

ID=78786255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110002809.8A Pending CN113760292A (zh) 2021-01-04 2021-01-04 开发应用程序的方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113760292A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265823A (zh) * 2021-12-27 2022-04-01 众和空间(北京)科技有限责任公司 一种基于映射文件的物联网设备可视化集成系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104321743A (zh) * 2012-03-19 2015-01-28 法国埃布尔公司 用于开发在通信网络上查询内容和服务的应用程序的方法和系统
CN107506201A (zh) * 2017-09-22 2017-12-22 厦门集微科技有限公司 一种python框架生成方法和系统
CN109445835A (zh) * 2018-09-03 2019-03-08 平安普惠企业管理有限公司 构建项目框架的方法、终端设备及计算机可读存储介质
CN109885290A (zh) * 2019-01-09 2019-06-14 远光软件股份有限公司 应用程序服务描述信息生成与发布方法、装置和存储介质
CN112148263A (zh) * 2020-09-28 2020-12-29 建信金融科技有限责任公司 前端标准框架及其生成方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104321743A (zh) * 2012-03-19 2015-01-28 法国埃布尔公司 用于开发在通信网络上查询内容和服务的应用程序的方法和系统
CN107506201A (zh) * 2017-09-22 2017-12-22 厦门集微科技有限公司 一种python框架生成方法和系统
CN109445835A (zh) * 2018-09-03 2019-03-08 平安普惠企业管理有限公司 构建项目框架的方法、终端设备及计算机可读存储介质
CN109885290A (zh) * 2019-01-09 2019-06-14 远光软件股份有限公司 应用程序服务描述信息生成与发布方法、装置和存储介质
CN112148263A (zh) * 2020-09-28 2020-12-29 建信金融科技有限责任公司 前端标准框架及其生成方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265823A (zh) * 2021-12-27 2022-04-01 众和空间(北京)科技有限责任公司 一种基于映射文件的物联网设备可视化集成系统及方法
CN114265823B (zh) * 2021-12-27 2022-08-02 众和空间(北京)科技有限责任公司 一种基于映射文件的物联网设备可视化集成系统及方法

Similar Documents

Publication Publication Date Title
US20220100494A1 (en) Providing access to a hybrid application offline
CN107832045B (zh) 跨编程语言接口转换的方法和装置
US9916137B2 (en) Rest service source code generation
US20170090892A1 (en) Systems and methods for dynamically replacing code objects for code pushdown
US9952835B2 (en) Generation of hybrid enterprise mobile applications in cloud environment
CN111400061A (zh) 一种数据处理方法和系统
CN110895471A (zh) 安装包生成方法、装置、介质及电子设备
CN111324833A (zh) 页面展示方法、装置、电子设计及计算机可读介质
CN110716720A (zh) 一种实现应用热部署的方法和装置
CN110795649A (zh) 目标页面展示方法、装置、系统及电子设备
CN111125064A (zh) 一种生成数据库模式定义语句的方法和装置
CN110928571A (zh) 业务程序开发方法和装置
CN115202729A (zh) 基于容器服务的镜像生成方法、装置、设备及介质
CN110888794A (zh) 接口测试方法和装置
CN113760292A (zh) 开发应用程序的方法、装置、电子设备和存储介质
US9135001B2 (en) Dynamically configuring an integrated development environment
CN112596854A (zh) 一种持续集成流水线运行的方法和装置
US10705824B2 (en) Intention-based command optimization
CN112052011A (zh) 小程序的合包方法、装置、电子设备及介质
CN115982491A (zh) 页面更新方法及装置、电子设备和计算机可读存储介质
CN116360741A (zh) 小程序开发方法、系统、设备及存储介质
CN110633083A (zh) 代码文件处理方法、装置、电子设备及计算机可读介质
CN109271182B (zh) 用于搜索引擎升级的方法及装置
CN113254019A (zh) 注册前端数据流状态文件的方法和装置
CN113535221A (zh) 应用版本管理的方法和装置

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