CN114020250A - 基于aop的字典翻译实现方法、系统、电子设备及存储介质 - Google Patents
基于aop的字典翻译实现方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114020250A CN114020250A CN202111174956.XA CN202111174956A CN114020250A CN 114020250 A CN114020250 A CN 114020250A CN 202111174956 A CN202111174956 A CN 202111174956A CN 114020250 A CN114020250 A CN 114020250A
- Authority
- CN
- China
- Prior art keywords
- dictionary
- data
- class
- annotation
- aop
- 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 130
- 238000013519 translation Methods 0.000 title claims abstract description 39
- 230000006870 function Effects 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims abstract description 7
- 230000014509 gene expression Effects 0.000 claims description 12
- 235000010627 Phaseolus vulgaris Nutrition 0.000 claims description 9
- 244000046052 Phaseolus vulgaris Species 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000009941 weaving Methods 0.000 claims description 6
- 239000003795 chemical substances by application Substances 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000002347 injection Methods 0.000 claims description 3
- 239000007924 injection Substances 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 8
- 230000003287 optical effect Effects 0.000 abstract description 2
- 239000000243 solution Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- G06F8/31—Programming languages or programming paradigms
- G06F8/311—Functional or applicative languages; Rewrite languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Library & Information Science (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了基于AOP的字典翻译实现方法、系统、电子设备及存储介质,属于计算机Java后端开发技术领域,本发明要解决的技术问题为数据字典接口繁琐调用,采用的技术方案为:该方法是通过Java注解的方式,使用AOP面向切面编程,将执行方法进行横向拓展;再通过获取实体类的注释属性,使多个调用函数统一进行数据的格式化操作;在接口调用过程中,直接返回代用字典key值和value值的数据。该系统包括创建模块、添加模块、请求模块、执行模块、获取模块、校验模块、翻译模块及返回模块。
Description
技术领域
本发明涉及计算机Java后端开发技术领域,具体地说是基于AOP的字典翻译实现方法、系统、电子设备及存储介质。
背景技术
随着互联网技术的发展,各类基础技术迭代也在不断更新,技术文档以及数据字典文档的管理与交流变得尤为重要。目前,常见的数据字典管理方式多数依靠传统的手工维护,对应程序开发多使用传统的Java系统框架。
在传统的Java系统框架中,有数据字典开发需求出现时,往往需要编写数据字典相关的查询接口,且前台需要不断的调用查询接口及解析返回数据。当字典的数据类型较多时,一方面会造成过多的占用后台程序的吞吐量,对程序运行带来一定的压力,另一方面,前端人员的工作量也会随之增多,占用大量的人工成本。
数据字典在程序开发过程中,由于编写重复相同代码过于繁琐和累赘,且不同的字典需要传不同的code值,都会造成人员时间和精力的浪费。
发明内容
本发明的技术任务是提供一种基于AOP的字典翻译实现方法、系统、电子设备及存储介质,来解决数据字典接口繁琐调用的问题。
本发明的技术任务是按以下方式实现的,一种基于AOP的字典翻译实现方法,该方法是通过Java注解的方式,使用AOP面向切面编程,将执行方法进行横向拓展;再通过获取实体类的注释属性,使多个调用函数统一进行数据的格式化操作;在接口调用过程中,直接返回代用字典key值和value值的数据。
作为优选,该方法具体如下:
创建自定义字典注解类,并将自定义的字典注解赋值给对应的返回实体类对象;
添加字典AOP类;
通过HTTP接口请求服务器接口数据,调用数据接口:通过前端发起HTTP请求,调用到后台的接口,向接口传递业务相关的参数即可,不需特殊配置;
代理对象切入目标方法:通过代理获取到目标方法的生命周期;
开始执行实现方法:通过控制生命周期执行目标方法,获取到目标方法的返回值,并将返回值传入到实现方法;
获取返回数据类的所有属性,包括父类,解析返回值,并获取其字段属性;
校验是否包含字典注解:循环遍历类的属性,判断其中包含的字段属性是否包含字典注解:
若是,则进行翻译字典值,将该字段进行翻译,翻译完成获取到对应的字典数据;
若否,则直接返回数据,将翻译完成的带有数据字典值的数据返回给前端请求端。
更优地,创建自定义字典注解类具体如下:
通过spring的注解功能自定义创建一个字典注解,添加@Target(ElementType.FIELD)、@Retention(RetentionPolicy.RUNTIME),并为该注解添加数据code、数据Text及数据字典表三个属性,方便使用者灵活配置;
在需要解析成字典数据的实体类中,把创建的字典注解标记在该字段上即可。
更优地,添加字典AOP类具体如下:
AOP类的初始化:通过@Aspect注解添加了一个字典AOP类,在类中添加@component使该类能够以bean的形式自动注入到程序中;
切点定义:在字典AOP类实现中定义切点,使用@Pointcut("execution()")注解将所有的业务接口作为切入点,execution()表达式内输入匹配所有业务接口的表达式,注入方式为环绕织入,即采用@Around注解的方式;该切点的作用是通过表达式匹配到接口进行拦截再执行实现方法;
在类方法中切点实现方法:获取传入参数的字典属性,解析判断是否含有字典注解,根据字典注解配置的code码及数据表,书写对应的查询语句对数据集进行查询,最终返回对应的字典值的方法。
更优地,代理对象切入目标方法具体如下:
当程序运行时,创建的字典AOP类会以bean的形式在程序中创建为实例,该实例根据定义的切点表达式匹配到需要切入的目标方法,即调用的后台数据接口,底层则通过动态代理的方式生成切面(拦截器);
字典AOP类通过@Around注解,拿到目标方法执行前、执行中及执行后的生命周期,完成环绕织入操作;
通过在目标方法的生命周期中执行实现方法,完成增强动作。
更优地,执行实现方法具体如下:
进入到实现方法,获取目标方法在执行前的传递参数,即通过监控目标方法执行的生命周期获取到执行前、执行中及执行后对应的传入参数、耗时时间和返回参数的内容;
通过ProceedingJoinPoint.proceed()执行该目标方法体的函数,将得到目标方法的返回数据类,该返回数据即为;
获取返回数据类的所有属性具体如下:
将返回值作为参数,根据JDK自带的Class.getDeclaredFields()方法获取字段类,通过while循环遍历获取该类及父类的所有字段,并存储到同一个数组中。
更优地,校验是否包含字典注解具体如下:
根据获取的字段数组,通过for循环拿到每个字段;
通过向Field.getAnnotation()方法传入自定义字典注解类,用于判断字段是否拥有该注解修饰:
若返回结果为true,则进行字典解析,具体如下:
根据获取注解数据属性,即字典的数据code及数据字典表的配置;
获取后以code值为查询条件,根据对应的数据库字典表进行SQL查询,通过调用数据库查询语句,将查询结果数据以json的形式添加到目标方法的返回数据中;
若返回结果为false,则不对返回数据进行处理,直接将含有字典值数据的返回数据,返回到前台进行相关json解析并展示,完成数据字典翻译方法。
一种基于AOP的字典翻译系统,该系统包括,
创建模块,用于创建自定义字典注解类,并将自定义的字典注解赋值给对应的返回实体类对象;
添加模块,用于通过@Aspect注解添加了一个字典AOP类,在类中添加@component使该类能够以bean的形式自动注入到程序中,并在该类方法实现中添加@Pointcut注解定义切点及实现方法;
请求模块,用于通过前端发起HTTP请求,调用到后台的接口,向接口传递业务相关的参数即可,不需特殊配置;
切入模块,用于通过代理获取到目标方法的生命周期;
执行模块,用于通过控制生命周期执行目标方法,获取到目标方法的返回值,并将返回值传入到实现方法;
获取模块,用于获取返回数据类的所有属性,包括父类,解析返回值,并获取其字段属性;
校验模块,用于循环遍历类的属性,判断其中包含的字段属性是否包含字典注解:
翻译模块,用于翻译字典值,将该字段进行翻译,翻译完成获取到对应的字典数据;
返回模块,用于直接返回数据,将翻译完成的带有数据字典值的数据返回给前端请求端。
一种电子设备,包括:存储器和至少一个处理器;
其中,所述存储器上存储有计算机程序;
所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的基于AOP的字典翻译实现方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的基于AOP的字典翻译实现方法。
其中,在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
本发明的基于AOP的字典翻译实现方法、系统、电子设备及存储介质具有以下优点:
(一)本发明实现在数据字典翻译方面人力和后台程序的资源优化,通过减少数据字典接口手动调用的频次,避免了前端开发人员投入大量精力进行开发与配置工作,可有效减轻前端开发人员的工作精力;同时,减少字典接口的开发,也会减少接口调用可释放后台程序吞吐量,有效解决后端服务器的并发压力,进一步提升了开发效率和程序运行性能;
(二)使用人员在接口的调用过程中,可以直接返回带有字典key值和value值的数据,无需再进行繁琐的手动调用来获取字典数据;字典数据是平台开发的重要数据,通过简化字典数据的获取来减少前端人员的工作量;本发明通过约定编程的思想,将约定的字典数据织入到对应流程中,具有简化操作、响应速率快等特点;
(三)本发明为降低运行及人力成本,提供统一的接口拦截功能通过AOP面向切面的开发,以动态代理的形式实现接口的数据处理,并自动补全字典数据内容,减少相关接口的繁琐调用。
附图说明
下面结合附图对本发明进一步说明。
附图1为基于AOP的字典翻译实现方法的流程框图。
具体实施方式
参照说明书附图和具体实施例对本发明的基于AOP的字典翻译实现方法、系统、电子设备及存储介质作以下详细地说明。
实施例1:
本发明的基于AOP的字典翻译实现方法,该方法是通过Java注解的方式,使用AOP面向切面编程,将执行方法进行横向拓展;再通过获取实体类的注释属性,使多个调用函数统一进行数据的格式化操作;在接口调用过程中,直接返回代用字典key值和value值的数据;具体如下:
S1、创建自定义字典注解类,并将自定义的字典注解赋值给对应的返回实体类对象;
S2、添加字典AOP类;
S3、通过HTTP接口请求服务器接口数据,调用数据接口:通过前端发起HTTP请求,调用到后台的接口,向接口传递业务相关的参数即可,不需特殊配置;
S4、代理对象切入目标方法:通过代理获取到目标方法的生命周期;
S5、开始执行实现方法:通过控制生命周期执行目标方法,获取到目标方法的返回值,并将返回值传入到实现方法;
S6、获取返回数据类的所有属性,包括父类,解析返回值,并获取其字段属性;
S7、校验是否包含字典注解:循环遍历类的属性,判断其中包含的字段属性是否包含字典注解:
①、若是,则执行步骤S8;
②、若否,则跳转至步骤S9;
S8、翻译字典值,将该字段进行翻译,翻译完成获取到对应的字典数据;
S9、直接返回数据,将翻译完成的带有数据字典值的数据返回给前端请求端。
本实施例步骤S1中的创建自定义字典注解类具体如下:
S101、通过spring的注解功能自定义创建一个字典注解,添加@Target(ElementType.FIELD)、@Retention(RetentionPolicy.RUNTIME),并为该注解添加数据code、数据Text及数据字典表三个属性,方便使用者灵活配置;
S102、在需要解析成字典数据的实体类中,把创建的字典注解标记在该字段上即可。
本实施例步骤S2中的添加字典AOP类具体如下:
S201、AOP类的初始化:通过@Aspect注解添加了一个字典AOP类,在类中添加@component使该类能够以bean的形式自动注入到程序中;
S202、切点定义:在字典AOP类实现中定义切点,使用@Pointcut("execution()")注解将所有的业务接口作为切入点,execution()表达式内输入匹配所有业务接口的表达式,注入方式为环绕织入,即采用@Around注解的方式;该切点的作用是通过表达式匹配到接口进行拦截再执行实现方法;
S203、在类方法中切点实现方法:获取传入参数的字典属性,解析判断是否含有字典注解,根据字典注解配置的code码及数据表,书写对应的查询语句对数据集进行查询,最终返回对应的字典值的方法。
本实施例步骤S4中的代理对象切入目标方法具体如下:
S401、当程序运行时,创建的字典AOP类会以bean的形式在程序中创建为实例,该实例根据定义的切点表达式匹配到需要切入的目标方法,即调用的后台数据接口,底层则通过动态代理的方式生成切面(拦截器);
S402、字典AOP类通过@Around注解,拿到目标方法执行前、执行中及执行后的生命周期,完成环绕织入操作;
S403、通过在目标方法的生命周期中执行实现方法,完成增强动作。
本实施例步骤S5中的执行实现方法具体如下:
S501、进入到实现方法,获取目标方法在执行前的传递参数,即通过监控目标方法执行的生命周期获取到执行前、执行中及执行后对应的传入参数、耗时时间和返回参数的内容;
S502、通过ProceedingJoinPoint.proceed()执行该目标方法体的函数,将得到目标方法的返回数据类,该返回数据即为;
本实施例步骤S6中的获取返回数据类的所有属性具体如下:
将返回值作为参数,根据JDK自带的Class.getDeclaredFields()方法获取字段类,通过while循环遍历获取该类及父类的所有字段,并存储到同一个数组中。
本实施例步骤S7中的校验是否包含字典注解具体如下:
S701、根据获取的字段数组,通过for循环拿到每个字段;
S702、通过向Field.getAnnotation()方法传入自定义字典注解类,用于判断字段是否拥有该注解修饰:
若返回结果为true,则执行步骤S8;
若返回结果为false,则不对返回数据进行处理,跳转至步骤S9。
本实施例步骤S8中的字典解析具体如下:
S801、根据获取注解数据属性,即字典的数据code及数据字典表的配置;
S802、获取后以code值为查询条件,根据对应的数据库字典表进行SQL查询,通过调用数据库查询语句,将查询结果数据以json的形式添加到目标方法的返回数据中;
本实施例步骤S9中的直接返回数据具体如下:
直接将含有字典值数据的返回数据,返回到前台进行相关json解析并展示,完成数据字典翻译方法。
实施例2:
本发明的基于AOP的字典翻译系统,该系统包括,
创建模块,用于创建自定义字典注解类,并将自定义的字典注解赋值给对应的返回实体类对象;
添加模块,用于通过@Aspect注解添加了一个字典AOP类,在类中添加@component使该类能够以bean的形式自动注入到程序中,并在该类方法实现中添加@Pointcut注解定义切点及实现方法;
请求模块,用于通过前端发起HTTP请求,调用到后台的接口,向接口传递业务相关的参数即可,不需特殊配置;
切入模块,用于通过代理获取到目标方法的生命周期;
执行模块,用于通过控制生命周期执行目标方法,获取到目标方法的返回值,并将返回值传入到实现方法;
获取模块,用于获取返回数据类的所有属性,包括父类,解析返回值,并获取其字段属性;
校验模块,用于循环遍历类的属性,判断其中包含的字段属性是否包含字典注解:
翻译模块,用于翻译字典值,将该字段进行翻译,翻译完成获取到对应的字典数据;
返回模块,用于直接返回数据,将翻译完成的带有数据字典值的数据返回给前端请求端。
实施例3:
本发明实施例还提供了一种电子设备,包括:存储器和处理器;
其中,存储器存储计算机执行指令;
处理器执行所述存储器存储的计算机执行指令,使得处理器执行本发明任一实施例中的基于AOP的字典翻译实现方法。
实施例4:
本发明实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的基于AOP的字典翻译实现方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RYM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于AOP的字典翻译实现方法,其特征在于,该方法是通过Java注解的方式,使用AOP面向切面编程,将执行方法进行横向拓展;再通过获取实体类的注释属性,使多个调用函数统一进行数据的格式化操作;在接口调用过程中,直接返回代用字典key值和value值的数据。
2.根据权利要求1所述的基于AOP的字典翻译实现方法,其特征在于,该方法具体如下:
创建自定义字典注解类,并将自定义的字典注解赋值给对应的返回实体类对象;
添加字典AOP类;
通过HTTP接口请求服务器接口数据,调用数据接口:通过前端发起HTTP请求,调用到后台的接口,向接口传递业务相关的参数即可;
代理对象切入目标方法:通过代理获取到目标方法的生命周期;
开始执行实现方法:通过控制生命周期执行目标方法,获取到目标方法的返回值,并将返回值传入到实现方法;
获取返回数据类的所有属性,包括父类,解析返回值,并获取其字段属性;
校验是否包含字典注解:循环遍历类的属性,判断其中包含的字段属性是否包含字典注解:
若是,则进行翻译字典值,将该字段进行翻译,翻译完成获取到对应的字典数据;
若否,则直接返回数据,将翻译完成的带有数据字典值的数据返回给前端请求端。
3.根据权利要求2所述的基于AOP的字典翻译实现方法,其特征在于,创建自定义字典注解类具体如下:
通过spring的注解功能自定义创建一个字典注解,添加@Target(ElementType.FIELD)、@Retention(RetentionPolicy.RUNTIME),并为该注解添加数据code、数据Text及数据字典表三个属性;
在需要解析成字典数据的实体类中,把创建的字典注解标记在该字段上即可。
4.根据权利要求2所述的基于AOP的字典翻译实现方法,其特征在于,添加字典AOP类具体如下:
AOP类的初始化:通过@Aspect注解添加了一个字典AOP类,在类中添加@component使该类能够以bean的形式自动注入到程序中;
切点定义:在字典AOP类实现中定义切点,使用@Pointcut("execution()")注解将所有的业务接口作为切入点,execution()表达式内输入匹配所有业务接口的表达式,注入方式为环绕织入,即采用@Around注解的方式;该切点的作用是通过表达式匹配到接口进行拦截再执行实现方法;
在类方法中切点实现方法:获取传入参数的字典属性,解析判断是否含有字典注解,根据字典注解配置的code码及数据表,书写对应的查询语句对数据集进行查询,最终返回对应的字典值的方法。
5.根据权利要求2所述的基于AOP的字典翻译实现方法,其特征在于,代理对象切入目标方法具体如下:
当程序运行时,创建的字典AOP类会以bean的形式在程序中创建为实例,该实例根据定义的切点表达式匹配到需要切入的目标方法,即调用的后台数据接口,底层则通过动态代理的方式生成切面;
字典AOP类通过@Around注解,拿到目标方法执行前、执行中及执行后的生命周期,完成环绕织入操作;
通过在目标方法的生命周期中执行实现方法,完成增强动作。
6.根据权利要求2所述的基于AOP的字典翻译实现方法,其特征在于,执行实现方法具体如下:
进入到实现方法,获取目标方法在执行前的传递参数,即通过监控目标方法执行的生命周期获取到执行前、执行中及执行后对应的传入参数、耗时时间和返回参数的内容;
通过ProceedingJoinPoint.proceed()执行该目标方法体的函数,将得到目标方法的返回数据类,该返回数据即为;
获取返回数据类的所有属性具体如下:
将返回值作为参数,根据JDK自带的Class.getDeclaredFields()方法获取字段类,通过while循环遍历获取该类及父类的所有字段,并存储到同一个数组中。
7.根据权利要求2-6中任一所述的基于AOP的字典翻译实现方法,其特征在于,校验是否包含字典注解具体如下:
根据获取的字段数组,通过for循环拿到每个字段;
通过向Field.getAnnotation()方法传入自定义字典注解类,用于判断字段是否拥有该注解修饰:
若返回结果为true,则进行字典解析,具体如下:
根据获取注解数据属性,即字典的数据code及数据字典表的配置;
获取后以code值为查询条件,根据对应的数据库字典表进行SQL查询,通过调用数据库查询语句,将查询结果数据以json的形式添加到目标方法的返回数据中;
若返回结果为false,则不对返回数据进行处理,直接将含有字典值数据的返回数据,返回到前台进行相关json解析并展示,完成数据字典翻译方法。
8.一种基于AOP的字典翻译系统,其特征在于,该系统包括,
创建模块,用于创建自定义字典注解类,并将自定义的字典注解赋值给对应的返回实体类对象;
添加模块,用于通过@Aspect注解添加了一个字典AOP类,在类中添加@component使该类能够以bean的形式自动注入到程序中,并在该类方法实现中添加@Pointcut注解定义切点及实现方法;
请求模块,用于通过前端发起HTTP请求,调用到后台的接口,向接口传递业务相关的参数即可;
切入模块,用于通过代理获取到目标方法的生命周期;
执行模块,用于通过控制生命周期执行目标方法,获取到目标方法的返回值,并将返回值传入到实现方法;
获取模块,用于获取返回数据类的所有属性,包括父类,解析返回值,并获取其字段属性;
校验模块,用于循环遍历类的属性,判断其中包含的字段属性是否包含字典注解:
翻译模块,用于翻译字典值,将该字段进行翻译,翻译完成获取到对应的字典数据;
返回模块,用于直接返回数据,将翻译完成的带有数据字典值的数据返回给前端请求端。
9.一种电子设备,其特征在于,包括:存储器和至少一个处理器;
其中,所述存储器上存储有计算机程序;
所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如权利要求1至7任一项所述的基于AOP的字典翻译实现方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如权利要求1至7中任一项所述的基于AOP的字典翻译实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111174956.XA CN114020250A (zh) | 2021-10-09 | 2021-10-09 | 基于aop的字典翻译实现方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111174956.XA CN114020250A (zh) | 2021-10-09 | 2021-10-09 | 基于aop的字典翻译实现方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020250A true CN114020250A (zh) | 2022-02-08 |
Family
ID=80055648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111174956.XA Pending CN114020250A (zh) | 2021-10-09 | 2021-10-09 | 基于aop的字典翻译实现方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020250A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676686A (zh) * | 2022-05-30 | 2022-06-28 | 恒生电子股份有限公司 | 数据字典处理方法、翻译方法及相关装置 |
CN116048478A (zh) * | 2023-03-07 | 2023-05-02 | 智慧眼科技股份有限公司 | 一种字典转义方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150277901A1 (en) * | 2014-04-01 | 2015-10-01 | International Business Machines Corporation | Recording, replaying and modifying an Unstructured Information Management Architecture (UIMA) pipeline |
CN110989983A (zh) * | 2019-11-28 | 2020-04-10 | 深圳航天智慧城市系统技术研究院有限公司 | 一种零编码的应用软件快速构建系统 |
CN112052263A (zh) * | 2020-07-13 | 2020-12-08 | 浙江大搜车软件技术有限公司 | 请求指令处理的方法、系统、计算机设备和可读存储介质 |
CN112364083A (zh) * | 2020-11-12 | 2021-02-12 | 深圳赛安特技术服务有限公司 | 基于配置文件的数据字典管理方法、系统及存储介质 |
-
2021
- 2021-10-09 CN CN202111174956.XA patent/CN114020250A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150277901A1 (en) * | 2014-04-01 | 2015-10-01 | International Business Machines Corporation | Recording, replaying and modifying an Unstructured Information Management Architecture (UIMA) pipeline |
CN110989983A (zh) * | 2019-11-28 | 2020-04-10 | 深圳航天智慧城市系统技术研究院有限公司 | 一种零编码的应用软件快速构建系统 |
CN112052263A (zh) * | 2020-07-13 | 2020-12-08 | 浙江大搜车软件技术有限公司 | 请求指令处理的方法、系统、计算机设备和可读存储介质 |
CN112364083A (zh) * | 2020-11-12 | 2021-02-12 | 深圳赛安特技术服务有限公司 | 基于配置文件的数据字典管理方法、系统及存储介质 |
Non-Patent Citations (1)
Title |
---|
你不知道你所以是你: "SpringBoot自定义注解+AOP处理数据字典自动翻译", pages 1 - 12, Retrieved from the Internet <URL:《https://blog.csdn.net/qxianx/article/details/108093318》> * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676686A (zh) * | 2022-05-30 | 2022-06-28 | 恒生电子股份有限公司 | 数据字典处理方法、翻译方法及相关装置 |
CN116048478A (zh) * | 2023-03-07 | 2023-05-02 | 智慧眼科技股份有限公司 | 一种字典转义方法、装置、设备及计算机可读存储介质 |
CN116048478B (zh) * | 2023-03-07 | 2023-05-30 | 智慧眼科技股份有限公司 | 一种字典转义方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8997070B2 (en) | Extension mechanism for scripting language compiler | |
US9086931B2 (en) | System for translating diverse programming languages | |
US9965259B2 (en) | System for translating diverse programming languages | |
US9811325B2 (en) | Systems and methods for dynamically replacing code objects for code pushdown | |
US20080147698A1 (en) | Data schemata in programming language contracts | |
CN114020250A (zh) | 基于aop的字典翻译实现方法、系统、电子设备及存储介质 | |
US10809985B2 (en) | Instrumenting program code | |
CN112540862A (zh) | 一种接口文档数据生成方法、装置、设备及存储介质 | |
US20170220613A1 (en) | Systems and methods for database orientation transformation | |
CN102117241A (zh) | 一种多核系统调试方法和多核系统 | |
JP2018505506A (ja) | 機械ベースの命令編集 | |
CN110673839A (zh) | 分布式工具配置化构建生成方法及系统 | |
CN104134039A (zh) | 病毒查杀方法、客户端、服务器以及病毒查杀系统 | |
CN110795091B (zh) | 一种模块化路由解耦方法、存储介质、电子设备及系统 | |
CN113703862A (zh) | 基于配置的接口调用方法、装置、设备及存储介质 | |
CN112860265A (zh) | 一种源代码数据库操作异常检测方法及装置 | |
CN114153459A (zh) | 接口文档生成方法及装置 | |
CN112947960A (zh) | 一种基于机器学习的风险模型部署方法及系统 | |
CN108304164B (zh) | 一种业务逻辑的开发方法及开发系统 | |
US10642714B2 (en) | Mapping dynamic analysis data to source code | |
CN115357898A (zh) | 一种java组件的依赖分析方法、装置及介质 | |
US9063744B2 (en) | Modifying a file written in a formal language | |
CN112632333A (zh) | 查询语句生成方法、装置、设备及计算机可读存储介质 | |
Südholt | A model of components with non-regular protocols | |
US8495595B2 (en) | Method of selecting an expression evaluation technique for domain-specific language compilation |
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 |