CN117785179A - 通过自定义配置生成微服务代码的方法、装置、介质及设备 - Google Patents
通过自定义配置生成微服务代码的方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN117785179A CN117785179A CN202311869824.8A CN202311869824A CN117785179A CN 117785179 A CN117785179 A CN 117785179A CN 202311869824 A CN202311869824 A CN 202311869824A CN 117785179 A CN117785179 A CN 117785179A
- Authority
- CN
- China
- Prior art keywords
- code
- information
- template
- configuration file
- codes
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000009877 rendering Methods 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 230000015654 memory Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 12
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 9
- 244000046052 Phaseolus vulgaris Species 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000013499 data model Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供一种通过自定义配置生成微服务代码的方法、装置、介质及设备,其方法包括:获取配置文件,配置文件包括待操作的数据表的信息;解析配置文件,获取数据表的信息;调用预设的模板,将模板中的可替换信息替换为数据表的信息,渲染生成代码;将生成的代码集成到项目中,以使用户在项目中调用代码,对数据表进行操作。可以通过自定义的配置文件,更精细灵活地控制代码生成,满足复杂多样的业务需求;通过修改配置文件,就可以自动生成新的代码,大量减少基础代码的编写工作,有效缩短项目开发时间和初期团队规范时间,并且代码风格简洁一致,提高代码的可维护性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种通过自定义配置生成微服务代码的方法、装置、介质及设备。
背景技术
随着微服务架构的广泛应用,开发人员在创建微服务系统时,需要编写大量的基础业务代码,这些代码往往具有高度的重复性。且由于团队编码风格不一、技术深度不一、相似代码重复编写、针对某一功能实现采用的开源技术不一等原因,导致最终做出的项目存在代码难以维护、类似代码过多、命名语义模糊杂乱等各种问题,不仅增加后续维护成本,也显得项目代码臃肿无序。
当前在代码自动生成范畴中,基本使用框架自带的代码生成功能,仅可以生成人工定义的bean层(实体层)中成员变量的get/set/toString/hashCode等方法,dao层(持久层)、service层(业务层)、controller层(表现层)的业务代码仍需手写,不能实现根据业务需求控制生成对应的业务代码,无法有效改善代码质量和开发速度。
发明内容
为了解决上述技术问题,本发明提供了一种通过自定义配置生成微服务代码的方法、装置、介质及设备。
根据本申请的一个方面,提供一种通过自定义配置生成微服务代码的方法,包括:
获取配置文件,配置文件包括基于业务需求配置的待操作的数据表的信息;
解析所述配置文件,获取所述数据表的信息;
调用预设的模板,将所述模板中的可替换信息对应替换为所述数据表的信息,渲染生成代码;
将生成的代码集成到项目中,以使用户根据所述业务需求在项目中调用所述代码,对所述数据表进行操作。
基于前述方案,在本申请的一些实施例中,通过自定义配置生成微服务代码的方法还包括:
预先编写各框架层的模板,各框架层的模板包括固定的通用代码和可替换信息,可替换信息为模版中使用固定标识符进行标记的信息。
基于前述方案,在本申请的一些实施例中,配置文件还包括为至少一个框架层指定代码目录,调用预设的模板包括:
根据框架层指定代码目录确定模板,并调用框架层指定代码目录对应的模板。
基于前述方案,在本申请的一些实施例中,数据表的信息包括:数据实体名,将模板中的可替换信息替换为所述数据表的信息,渲染生成代码包括:
将模板中的数据实体名对应的可替换信息替换为所述配置文件中的数据实体名;
对替换后的模板数据进行渲染,生成代码内容;
将所述代码内容存储在为所述框架层指定的代码目录。
基于前述方案,在本申请的一些实施例中,配置文件还包括项目目录,指定框架层的代码目录为项目目录下的目录。
根据本申请的一个方面,提供一种通过自定义配置生成微服务代码的装置,包括:
配置文件获取模块,用于获取配置文件,配置文件包括基于业务需求配置的待操作的数据表的信息;
解析模块,用于解析配置文件,获取数据表的信息;
代码生成模块,用于调用预设的模板,将模板中的可替换信息对应替换为数据表的信息,渲染生成代码;
代码管理模块,用于将生成的代码集成到项目中,以使用户根据所述业务需求在项目中调用所述代码,对所述数据表进行操作。
基于前述方案,在本申请的一些实施例中,通过自定义配置生成微服务代码的装置,还包括:
模板创建模块,用于预先编写各框架层的模板,所述各框架层的模板包括固定的通用代码和可替换信息,可替换信息为模版中使用固定标识符进行标记的信息。
基于前述方案,在本申请的一些实施例中,配置文件还包括为至少一个框架层指定代码目录,代码生成模块还用于:
根据框架层指定代码目录确定模板,并调用框架层指定代码目录对应的模板。
基于前述方案,在本申请的一些实施例中,数据表的信息包括:数据实体名,代码生成模块还用于:
将模板中的数据实体名对应的可替换信息替换为配置文件中的数据实体名;
对替换后的模板数据进行渲染,生成代码内容;
将代码内容存储在为框架层指定的代码目录。
根据本申请的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被执行时实现通过自定义配置生成微服务代码的方法的步骤。
根据本申请的一个方面,提供一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,处理器执行所述计算机程序时实现通过自定义配置生成微服务代码的方法的步骤。
本发明提供的通过自定义配置自动生成微服务业务代码的方法,包括:
针对软件架构的各基础层生成各层的模板,设置可替换区域;当需要对待操作的数据表进行操作时,获取配置文件,使用配置文件中的数据表的信息对各层模板中可替换区域进行替换,对替换后的模板进行渲染,从而自动生成各基础层对应的代码,将生成的代码集成到项目中,用户可以在项目中调用代码,完成对数据表的操作。本发明可以通过自定义的配置文件,能够根据业务需求更精细灵活地控制代码生成,满足复杂多样的业务需求;通过修改配置文件,就可以自动生成新的代码,大量减少基础代码的编写工作,有效缩短项目开发时间和初期团队规范时间,并且代码风格简洁一致,不仅能够有效改善代码质量和开发速度,还能提高代码的可维护性。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是图1是根据一示例性实施例示出的通过自定义配置生成微服务代码的方法的流程图。
图2是根据一示例性实施例示出的一种通过自定义配置生成微服务代码的装置的框图。
图3是根据一示例性实施例示出的一种通过自定义配置生成微服务代码的装置的框图。
图4是根据一示例性实施例示出的一种计算机设备的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1是根据一示例性实施例示出的通过自定义配置生成微服务代码的方法的流程图。如图1所示,通过自定义配置生成微服务代码的方法,包括:
步骤S11,获取配置文件,配置文件包括基于业务需求配置的待操作的数据表的信息。
当开发人员根据业务需求设计好数据表后,可以通过微服务系统实现对数据的读取、更改等操作。微服务系统基于SpringBoot框架实现。本发明提供一种基于SpringBoot框架,通过自定义配置文件自动生成微服务系统基础业务代码的解决方案,可以大大减少开发人员编写重复性的基础业务代码的工作量,提高开发效率,减少人为错误,并且可以根据不同的业务需求灵活地生成不同的基础业务代码,从而满足复杂多样的业务需求。
配置文件是由开发人员编写的,开发人员可以在微服务系统上编写配置文件,也可以将编写好的配置文件上传到微服务系统。配置文件包括待操作的数据表的信息。
步骤S12,解析配置文件,获取数据表的信息。
由解析器对配置文件进行解析,可以根据根据配置文件的格式,将配置文件中的数据表的信息提取出来,并转换为内部数据结构。其中数据表的信息包括数据表的名称,数据表中各个列名的操作方法等,数据表的名称,用于定位待操作的数据表。数据表中各个列名的操作方法,用于根据列名的值对数据表中的对应的成员对象进行操作。
步骤S13,调用预设的模板,将模板中的可替换信息对应替换为数据表的信息,渲染生成代码。
可以预先编写代码模板,根据模板中编写好通用的基础代码,将数据表的信息作为可替换信息,微服务系统的代码生成器在获取到待操作的数据表的信息后,调用预设的模板,将模板中的可替换信息替换为数据表的信息,对替换后的模板进行渲染,自动生成相关的代码。可以通过使用Freemarker模板引擎来生成不同层次的代码文件,比如可以生成以下模板:
Bean.flt模板,用于生成实体类(Bean),其中可以定义实体类的属性、注解等。模板可以使用Freemarker的语法来生成具体的实体类代码。
Dao.flt模板,用于生成数据访问对象(DAO)层的代码。它可以定义数据库操作的方法、查询语句等。通过模板渲染,可以将解析到的数据表信息应用到模板中,生成相应的DAO代码。
Service.flt模板,用于生成服务接口层的代码。它可以定义服务接口的方法和业务逻辑。模板可以根据解析到的数据表信息,生成对应的服务接口代码。
ServiceImpl.flt模板,用于生成服务实现层的代码。它实现了服务接口定义的方法,并包含具体的业务逻辑。通过模板渲染,可以根据解析到的数据表信息生成服务实现类的代码。
Controller.flt模板,用于生成控制器层的代码,通常是用于处理HTTP请求和响应。模板可以根据解析到的数据表信息生成控制器类的代码,包括请求映射、参数解析、返回结果等。
每个模板都根据其对应的层次和功能定义了代码的结构和内容,确保生成的代码符合预期的设计和规范。使用Freemarker模板引擎的方案可以提高代码生成的灵活性和可维护性,使开发人员能够更加方便地根据业务需求生成所需的代码文件。
步骤S14,将生成的代码集成到项目中,以使用户根据业务需求在项目中调用代码,对数据表进行操作。
生成代码后,将生成的代码集成到项目中,可以将生成的代码文件放置在项目的相应目录中,或者直接将代码插入到现有的文件中。
用户就可以在项目中调用这些自动生成的代码,实现对数据表的操作,具体对数据表的操作可以为:
数据插入(Data Insertion):向数据表中插入新的数据记录。可以使用生成的代码中的插入方法,提供要插入的数据字段值,将新的数据记录插入到数据表中。
数据更新(Data Update):更新数据表中已存在的数据记录。可以使用生成的代码中的更新方法,指定要更新的字段和新的字段值,根据条件更新匹配的数据记录。
数据删除(Data Deletion):从数据表中删除数据记录。可以使用生成的代码中的删除方法,指定删除条件,删除满足条件的数据记录。
这些操作可以根据生成的代码提供的方法和接口来进行调用。具体的调用方式和参数根据生成的代码的设计而定,可能涉及到传递参数、执行操作、获取返回结果等步骤。例如对于增加员工的业务,可以调用生成的服务接口实现来处理员工信息的增加操作。
通过使用生成的代码来操作数据表,可以减少手动编写基础的CRUD(创建、读取、更新、删除)逻辑的工作量,并确保操作的准确性和一致性。减少手动编写重复的基础业务代码的工作量,并确保生成的代码与数据表的信息一致,提高代码的质量。同时,生成的代码通常会封装底层的数据库操作细节,提供更高层次的抽象和便利性,使开发人员能够更加专注于业务逻辑的实现。
本实施例中,开发人员在已设计好的数据表的基础上创建微服务时,开发人员只需编写包括待操作的数据表的信息的配置文件,由微服务系统获取配置文件,使用配置文件中的数据表的信息对各层模板中可替换区域进行替换,对替换后的模板进行渲染,从而自动生成代码。通过自定义配置文件,可以更精细更灵活地控制生成的代码,实现高度自定义,满足更复杂多样的业务需求。不需要对大量重复的通用的基础代码进行编写,提高代码编写效率,且能够使代码风格统一,提高代码的可维护性。当需要为其他数据表创建微服务时,只需修改配置文件中的对应内容,就可以通过调用相应的模板,自动重新生成代码,大大简化开发人员的工作量,降低使用成本,更易于维护。
不仅限于生成特定类型的代码,例如Web控制器或数据库访问层,而是可以生成包括服务接口、数据模型定义、数据库操作等在内的全套微服务,具有更强的通用性。
可以将配置文件、解析器、代码生成器集成到SpringBoot框架中,使得开发人员可以在熟悉的开发环境中使用本发明,具有很好的集成性,并能降低学习成本和使用门槛。
在一示例性实施例中,通过自定义配置生成微服务代码的方法,还包括:
预先编写各个框架层的模板,各框架层的模板包括固定的通用代码和可替换信息。可替换信息为所述模版中使用固定标识符进行标记的信息,本实施例中,可替换信息是指模板中用${}标识的内容。
SpringBoot框架包括dao层(持久层)、service层(服务层)、servicelmp层(实现层)、controller层(表现层)、bean层(实体层)等多个框架层,根据针对每个框架层确定对应模板的结构和内容。本实施例中,根据SpringBoot框架的特点,例如使用Freemarker模板引擎编写每个框架层的模板。在模板中,可以使用Freemarker的语法和指令,包括条件判断、循环迭代、变量替换等,来定义模板的结构和逻辑。针对各框架层编写模板,每个框架层包括固定的通用代码和可替换信息。在每个框架层的模板中,用${}标记出可替换的信息部分,例如数据实体名、作者、日期等。这些可替换的信息将在代码生成过程中根据配置文件定义的实际需求进行替换。微服务系统通过调用预设的模板,可以渲染生成各框架层的代码文件,且每个框架层的代码独立生成。开发人员以根据需要生成特定框架层的代码文件。这种方式提供了更大的灵活性和精细化控制,可以满足多样化的业务需求,并减少手动编写重复代码的工作量。
通过预先建立各个框架层的模板,并在配置文件中设置调用这些模板,可以同时自动生成dao层、service层、controller层、bean层、以及实现层的全套业务代码,具有更强的业务性,有效改善代码质量和开发速度。
在一示例性实施例中,配置文件还包括为至少一个框架层指定代码目录,调用预设的模板包括:
根据框架层指定代码目录确定模板,并调用框架层指定代码目录对应的模板。
可以在配置文件中配置至少一个指定框架层的代码目录,代码目录用于存放指定框架层的代码。
在一实施例中,配置文件如下:
{
"daoDir":"/dao",
"serviceDir":"/service",
"servimplDir":"/service/impl",
"controllerDir":"/controller",
"beanDir":"/bean",
"date":"2023-11-11",
"operations":["Create","Read","Update","Delete"]
}
在上述配置文件中,指定代码目录的框架层有5个,分别为dao层、service层、servimpl层、controller层、bean层,为不同的框架层指定了代码存放目录。
当生成微服务代码时,微服务系统根据框架层指定代码目录确定模板,然后调用确定的预设模板。由于配置文件中为5个框架层指定了代码目录,因此,需要调用上述5个框架层对应的模板,生成每个框架层的代码文件,并存放在各个框架层指定的目录中。例如,将dao层的代码文件存放在dao目录下,将service层的代码文件存放在service目录下,其他层的代码文件也都各自存放在指定的目录中。不同层的代码文件单独存放,便于后期的查找和方便管理,更易于维护。
开发人员也可以在配置文件中为至少一个框架层指定代码目录,而不必同时为5个框架层指定代码目录,在生成微服务代码时,微服务系统只调用指定了代码目录的框架层的模板,从而只生成指定了代码目录的框架层的代码,提高代码生成速度。例如,当生成整套代码后,需要对某个框架层的代码进行调整,开发人员可以在配置文件中只为该框架层指定了代码目录,从而只重新生成该框架层的代码,其他框架层的代码不会重新生成,有效提高代码生成效率。将不同框架层的代码存储在各自的目录中,便于后期查找代码,当确定代码没有问题后,可以将生成的代码文件拷贝到项目的相应目录中,或者直接将代码插入到现有的文件中,实现将代码集成到项目中,供用户调用。
在一示例性实施例中,数据表的信息包括:数据实体名,将模板中的可替换信息替换为数据表的信息,渲染生成代码包括:
将模板中的数据实体名对应的可替换信息替换为配置文件中的数据实体名;
对替换后的模板数据进行渲染,生成代码内容;
将所述代码内容存储在为所述框架层指定的代码目录。
数据实体名为数据表的名称,指定了数据实体名,相当于指示微服务系统针对该数据实体对应的数据表生成各框架层的操作代码,以便对该数据表进行操作。
仍以上述配置文件为例,数据实体名称为"Employee",微服务系统根据配置文件调用模板,以dao层模板为例:
将模板中的数据实体名对应的可替换信息替换为配置文件中的数据实体名后,dao层模板的代码数据为:
对替换后的模板数据进行渲染,生成代码内容,将代码内容存储在为框架层指定的代码目录中,就完成了dao层代码的自动生成。
在本实施例中,针对同一类型的数据表,在提供微服务时,不必针对每个数据表单独编写代码,只需编写配置文件,通过自定义配置文件,可以更精细、更灵活地控制生成的代码,满足更复杂、更多样化的业务需求。
在一示例性实施例中,数据表的信息还包括作者信息和生成日期;
将模板中的可替换信息替换为数据表的信息还包括:
将模板中的作者信息和日期对应的可替换信息替换成配置文件中的作者信息和日期。
例如,配置文件如下:
{
"daoDir":"/dao",
"serviceDir":"/service",
"servimplDir":"/service/impl",
"controllerDir":"/controller",
"beanDir":"/bean",
"entity":"Employee",
"author":"Jason.Zhang",
"date":"2023-11-11",
"operations":["Create","Read","Update","Delete"]
}
将模板中的作者信息和日期对应的可替换信息替换成模板中的作者信息和日期后:
在生成各个框架层的代码时,可以预先在各框架层对应的模板中预设作者信息和日期对应的可替换信息,开发人员在编写配置文件时,可以在配置文件中设置作者信息和日期。微服务系统解析配置文件,调用指定了代码目录的框架层的模板,除了对数据实体名进行替换,同时将模板中的作者信息和日期对应的可替换信息替换成模板中的作者信息和日期。使生成的代码中可以体现作者信息和具体的日期,可以对不同作者的代码、相同作者不同日期的代码进行有效区分,便于代码文件的管理和后期代码维护。同时也使得生成的代码更加规范。
在一示例性实施例中,配置文件还包括项目目录,指定框架层的代码目录为项目目录下的目录。
在配置文件中,还可包括项目目录,项目目录是项目文件所在的目录。
例如配置文件为:
{
"directory":"/usr/project/Test",
"daoDir":"/dao",
"serviceDir":"/service",
"servimplDir":"/service/impl",
"controllerDir":"/controller",
"beanDir":"/bean",
"entity":"Employee",
"author":"Jason.Zhang",
"date":"2023-11-11",
"operations":["Create","Read","Update","Delete"]
}
其中,/usr/project/Test为项目目录。
在为至少一个框架层指定代码目录时,可以将项目目录中对应的目录指定的代码目录。
例如,在本实施例中,由于指定了项目目录,dao层代码会自动存储在/usr/project/Test/dao目录下,service层的代码会自动存储在/usr/project/Test/service目录下。微服务系统将各个框架层的代码自动存储在项目对应的目录下,可以使自动生成的代码目录自动集成到项目中,避免后续的人为操作。
在一实例性实施例中,数据表的信息还包括列名的操作方法。
例如在本实施例中,配置文件如下:
在上述配置文件中,Properties":[]部分对应的内容中,对数据表的列进行了定义,并对列名为“id”的列指定了限制条件,"Primary Key"(主键),"Auto Increment"(自动增量)。可以根据id的值对数据表中特定的行的内容进行操作。例如,读取id编号为1、3、5、7的人员的信息。
通过以上实施例,本申请提供的通过自定义配置生成微服务代码的方法,可以通过灵活编写配置文件,调用预设的模板,可以根据配置文件所包括的多种信息,灵活生成满足多种需求的代码文件。使用者只需要按照固定格式输入作者姓名、时间、数据表名、数据表列定义即可自动生成相应代码,极大节省代码编写时间。配置文件可以包括为至少一个框架层指定代码目录,从而指示微服务系统调用哪些模板。可以一次生成包括服务接口、数据模型定义、数据库操作等在内的全套业务代码,具有更强的通用性。并指示生成业务代码的存储目录,可以更精细灵活地控制生成的代码,满足更复杂、更多样化的业务需求。模板可以定义统一风格的方法名、类名名、成员变量名,最终生成的代码简洁一致。经过严格测试做成的代码模板可以完全杜绝在已经生成的基础代码中存在认为的编写错误,做到没有bug。规范团队开发、提高开发效率、提高代码质量。具有更强的扩展性,可以通过添加新的配置选项或修改代码模板来支持新的代码生成需求。
图2是根据一示例性实施例示出的一种通过自定义配置生成微服务代码的装置的框图。
参考图2,通过自定义配置生成微服务代码的装置包括:配置文件获取模块201,解析模块202,代码生成模块203,代码管理模块204。
该配置文件获取模块201被配置为用于获取配置文件,配置文件包括基于业务需求配置的待操作的数据表的信息;
该解析模块202被配置为用于解析配置文件,获取数据表的信息;
该代码生成模块203被配置为用于调用预设的模板,将模板中的可替换信息对应替换为数据表的信息,渲染生成代码;
该代码管理模块204被配置为用于将生成的代码集成到项目中,以使用户根据所述业务需求在项目中调用代码,对数据表进行操作。
图3是根据一示例性实施例示出的一种通过自定义配置生成微服务代码的装置的框图。
参考图3,通过自定义配置生成微服务代码的装置还包括:模板创建模块301。
该模板创建模块301被配置为用于预先编写各框架层的模板,各框架层的模板包括固定的通用代码和可替换信息,可替换信息为模版中使用固定标识符进行标记的信息。
在一示例性实施例中,配置文件包括为至少一个框架层指定代码目录,代码生成模块203还被配置为用于根据所述框架层指定代码目录确定模板,并调用框架层指定代码目录对应的模板。
在一示例性实施例中,数据表的信息包括:数据实体名,代码生成模块203还被配置为用于:
将模板中的数据实体名对应的可替换信息替换为所述配置文件中的数据实体名;
对替换后的模板数据进行渲染,生成代码内容;
将代码内容存储在为所述框架层指定的代码目录。
在一示例性实施例中,数据表的信息包括:作者信息和生成日期,代码生成模块203还用于:
将模板中的作者信息和日期对应的可替换信息替换成配置文件中的作者信息和日期。
图4是根据一示例性实施例示出的一种计算机设备400的框图。例如,计算机设备400可以被提供为一服务器。参照图4,计算机设备400包括处理器401,处理器的个数可以根据需要设置为一个或者多个。计算机设备400还包括存储器402,用于存储可由处理器401的执行的指令,例如应用程序。存储器的个数可以根据需要设置一个或者多个。其存储的应用程序可以为一个或者多个。处理器401被配置为执行指令,以执行上述多活回源方法。
本领域技术人员应明白,本文的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本文可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本文可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质,包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文是参照根据本文实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
尽管已描述了本文的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本文范围的所有变更和修改。
显然,本领域的技术人员可以对本文进行各种改动和变型而不脱离本文的精神和范围。这样,倘若本文的这些修改和变型属于本文权利要求及其等同技术的范围之内,则本文的意图也包含这些改动和变型在内。
Claims (11)
1.一种通过自定义配置生成微服务代码的方法,其特征在于,包括:
获取配置文件,所述配置文件包括基于业务需求配置的待操作的数据表的信息;
解析所述配置文件,获取所述数据表的信息;
调用预设的模板,将所述模板中的可替换信息对应替换为所述数据表的信息,渲染生成代码;
将生成的代码集成到项目中,以使用户根据所述业务需求在项目中调用所述代码,对所述数据表进行操作。
2.如权利要求1所述的通过自定义配置生成微服务代码的方法,其特征在于,还包括:
预先编写各框架层的模板,所述各框架层的模板包括固定的通用代码和可替换信息,所述可替换信息为所述模版中使用固定标识符进行标记的信息。
3.如权利要求2所述的通过自定义配置生成微服务代码的方法,其特征在于,所述配置文件还包括为至少一个框架层指定代码目录,所述调用预设的模板包括:
根据框架层指定代码目录确定模板,并调用框架层指定代码目录对应的模板。
4.如权利要求2所述的通过自定义配置生成微服务代码的方法,其特征在于,所述数据表的信息包括:数据实体名,所述将所述模板中的可替换信息替换为所述数据表的信息,渲染生成代码包括:
将模板中的数据实体名对应的可替换信息替换为所述配置文件中的数据实体名;
对替换后的模板数据进行渲染,生成代码内容;
将所述代码内容存储在为所述框架层指定的代码目录。
5.如权利要求3所述的通过自定义配置生成微服务代码的方法,其特征在于,所述配置文件还包括项目目录,所述指定框架层的代码目录为项目目录下的目录。
6.一种通过自定义配置生成微服务代码的装置,其特征在于,
包括:
配置文件获取模块,用于获取配置文件,所述配置文件包括基于业务需求配置的待操作的数据表的信息;
解析模块,用于解析所述配置文件,获取所述数据表的信息;
代码生成模块,用于调用预设的模板,将所述模板中的可替换信息对应替换为所述数据表的信息,渲染生成代码;
代码管理模块,用于将生成的代码集成到项目中,以使用户根据所述业务需求在项目中调用所述代码,对所述数据表进行操作。
7.如权利要求6所述的通过自定义配置生成微服务代码的装置,其特征在于,还包括:
模板创建模块,用于预先编写各框架层的模板,所述各框架层的模板包括固定的通用代码和可替换信息,所述可替换信息为所述模版中使用固定标识符进行标记的信息。
8.如权利要求7所述的通过自定义配置生成微服务代码的装置,其特征在于,所述配置文件还包括为至少一个框架层指定代码目录,所述代码生成模块还用于:
根据所述框架层指定代码目录确定模板,并调用框架层指定代码目录对应的模板。
9.如权利要求7所述的通过自定义配置生成微服务代码的装置,其特征在于,所述数据表的信息包括:数据实体名,所述代码生成模块还用于:
将模板中的数据实体名对应的可替换信息替换为所述配置文件中的数据实体名;
对替换后的模板数据进行渲染,生成代码内容;
将所述代码内容存储在为所述框架层指定的代码目录。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1-5中任意一项所述方法的步骤。
11.一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311869824.8A CN117785179A (zh) | 2023-12-31 | 2023-12-31 | 通过自定义配置生成微服务代码的方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311869824.8A CN117785179A (zh) | 2023-12-31 | 2023-12-31 | 通过自定义配置生成微服务代码的方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785179A true CN117785179A (zh) | 2024-03-29 |
Family
ID=90401550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311869824.8A Pending CN117785179A (zh) | 2023-12-31 | 2023-12-31 | 通过自定义配置生成微服务代码的方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785179A (zh) |
-
2023
- 2023-12-31 CN CN202311869824.8A patent/CN117785179A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7359990B2 (en) | Editing files of remote systems using an integrated development environment | |
US9792284B2 (en) | System, method and computer program product for multilingual content management | |
WO2015078343A1 (zh) | 用于web开发系统的开发方法和web开发系统 | |
US8196099B2 (en) | Updating application design | |
US6742175B1 (en) | Component-based source code generator | |
US7076766B2 (en) | Software application development methods and framework | |
US7080350B2 (en) | Method for developing Web applications, development support system and storage medium for storing programs developed according to the method | |
US6594672B1 (en) | Generating multidimensional output using meta-models and meta-outlines | |
US8234634B2 (en) | Consistent method system and computer program for developing software asset based solutions | |
CN108762743B (zh) | 一种数据表操作代码生成方法及装置 | |
US7523077B2 (en) | Knowledge repository using configuration and document templates | |
US20090083268A1 (en) | Managing variants of artifacts in a software process | |
US20040003091A1 (en) | Accessing a remote iSeries or AS/400 computer system from an integrated development environment | |
WO2012051389A1 (en) | Method and system for developing data integration applications with reusable semantic types to represent and process application data | |
EP1121637B1 (en) | Metohd for generating component-based source code | |
CN112799718A (zh) | 一种枚举文档的生成方法、装置、电子设备及存储介质 | |
Engel et al. | Using a model merging language for reconciling model versions | |
US11977473B2 (en) | Providing a pseudo language for manipulating complex variables of an orchestration flow | |
Predoaia et al. | Streamlining the development of hybrid graphical-textual model editors for domain-specific languages | |
US12038940B2 (en) | Architecture for data map converters | |
CN117785179A (zh) | 通过自定义配置生成微服务代码的方法、装置、介质及设备 | |
JP2004310279A (ja) | 業務処理システムおよびその構築支援装置、業務処理システム用プログラム、業務処理システムの構築支援用プログラム | |
KR20060079690A (ko) | 템플릿과 패턴을 이용한 컴포넌트 기반의 프로그래밍 자동화 방법 | |
LEHRHUBER | Pdf support for qualitative research in the cloud | |
SPS | SAP HANA Developer Guide |
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 |