本申请涉及计算机和互联网,尤其涉及一种对象属性的复制方法、装置及存储介质。
背景技术:
1、在软件编程中,经常需要在不同项目之间、同一项目的不同层之间进行数据复制,这些数据通常位于对象(bean)中,因此上述复制过程又被称为bean复制。bean包括多个属性,将源对象属性设置到目标对象实现bean复制。
2、在相关技术中,通常是使用spring的beanutils、apache的beanutils等bean复制工具,在程序运行的过程中实现bean复制。bean复制的过程中,复制工具需要读取源对象的属性,并对源对象的属性设置相应的复制逻辑。之后,复制工具基于复制逻辑,将源对象的属性设置到目的对象中。如此,可能会导致对象属性的复制效率降低,从而降低项目的开发效率。
技术实现思路
1、本申请提供一种对象属性的复制方法、装置及存储介质,用于提高对象属性的复制效率。
2、为达到上述目的,本申请采用如下技术方案:
3、第一方面,本申请提供一种对象属性的复制方法。该方法可以应用于服务器。服务器可以获取源文件,源文件包括:源对象和目的对象,源对象包括至少一个属性,目的对象包括至少一个属性,属性包括:属性名称和属性值。之后,服务器可以解析源文件,确定源对象的至少一个属性和目的对象的至少一个属性。对于源对象的每个属性,若第一属性标记有第一类注解,服务器则可以执行第一事件,第一类注解用于触发将源对象的属性值复制至目的对象,第一事件包括:读取第一属性的属性值,并将第二属性的属性值设置为第一属性的属性值,第一属性为源对象的至少一个属性中任一属性,第二属性为目的对象中与第一属性对应的属性。
4、可选的,当第一类注解为第一注解,则第二属性为目的对象中与第一属性的属性名称相同的属性,第一注解用于触发将第一属性的属性值复制至目的对象中与第一属性的属性名称相同的属性。当第一类注解为第二注解,则第一事件还包括:将第一属性的属性名称和第二属性的属性名称设置为相同的属性名称。第二注解用于触发修改第一属性的属性名称和第二属性的属性名称,并将第一属性的属性值复制至第二属性。
5、可选的,上述“将第二属性的属性值设置为第一属性的属性值”的方法还包括:对于源对象的每个属性,若第一属性标记有第二类注解,服务器则可以将第二属性的属性值设置为预设属性值,第二类注解用于触发将第二属性的属性值设置为预设属性值。
6、可选的,对象属性的复制方法还可以包括:对于源对象的每个属性,若第一属性标记有第三类注解,服务器则可以拒绝执行第一事件,第三类注解用于触发拒绝复制。
7、第二方面,本申请提供一种对象属性的复制装置,该装置应用于服务器,该装置包括获取模块、处理模块。
8、获取模块,用于获取源文件,源文件包括:源对象和目的对象,源对象包括至少一个属性,目的对象包括至少一个属性,属性包括:属性名称和属性值。处理模块,用于解析源文件,确定源对象的至少一个属性和目的对象的至少一个属性。处理模块,还用于对于源对象的每个属性,若第一属性标记有第一类注解,则执行第一事件,第一类注解用于触发将源对象的属性值复制至目的对象,第一事件包括:读取第一属性的属性值,并将第二属性的属性值设置为第一属性的属性值,第一属性为源对象的至少一个属性中任一属性,第二属性为目的对象中与第一属性对应的属性。
9、可选的,当第一类注解为第一注解,则第二属性为目的对象中与第一属性的属性名称相同的属性,第一注解用于触发将第一属性的属性值复制至目的对象中与第一属性的属性名称相同的属性。当第一类注解为第二注解,则第一事件还包括:将第一属性的属性名称和第二属性的属性名称设置为相同的属性名称;第二注解用于触发修改第一属性的属性名称和第二属性的属性名称,并将第一属性的属性值复制至第二属性。
10、可选的,处理模块,还用于对于源对象的每个属性,若第一属性标记有第二类注解,则将第二属性的属性值设置为预设属性值,第二类注解用于触发将第二属性的属性值设置为预设属性值。
11、可选的,处理模块,还用于对于源对象的每个属性,若第一属性标记有第三类注解,则拒绝执行第一事件,第三类注解用于触发拒绝复制。
12、第三方面,本申请提供了一种对象属性的复制装置,该装置包括:处理器和存储器。处理器和存储器耦合。存储器用于存储一个或多个程序,该一个或多个程序包括计算机执行指令,当该对象属性的复制装置运行时,处理器执行该存储器存储的该计算机执行指令,以实现如第一方面中的任一种可能的实现方式中所描述的对象属性的复制方法。
13、第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述第一方面中的任一种可能的实现方式中所描述的对象属性的复制方法。
14、第五方面,本申请提供了一种计算机程序产品,包括计算机程序,当其计算机程序被处理器执行时,使得计算机实现如第一方面中的任一种可能的实现方式中所描述的对象属性的复制方法。
15、上述方案中,对象属性的复制装置、计算机设备、计算机存储介质或者计算机程序产品所能解决的技术问题以及实现的技术效果可以参见上述第一方面所解决的技术问题以及技术效果,在此不再赘述。
16、本申请提供的技术方案至少带来以下有益效果:服务器可以获取源文件,源文件包括:源对象和目的对象,源对象包括至少一个属性,目的对象包括至少一个属性,属性包括:属性名称和属性值。服务器可以解析源文件,确定源对象的至少一个属性和目的对象的至少一个属性。对于源对象的每个属性,服务器可以确定第一属性是否标记有第一类注解,第一属性为源对象的至少一个属性中任一属性,第一类注解用于触发将源对象的属性值复制至目的对象。若第一属性标记有第一类注解,服务器则可以执行第一事件,第一事件包括:读取第一属性的属性值,并将第二属性的属性值设置为第一属性的属性值。第二属性为目的对象中与第一属性对应的属性。如此,在程序运行时,服务器通过解析源文件,可以确定第一属性、第二属性以及第一类注解,并基于第一类注解实现对象属性的复制,无需在运行过程中设置复制逻辑,可以提高对象属性的复制效率。
1.一种对象属性的复制方法,其特征在于,应用于服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求1或2所述的方法,其特征在于,将第二属性的属性值设置为所述第一属性的属性值,包括:
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
5.一种对象属性的复制装置,其特征在于,应用于服务器,所述装置包括:
6.根据权利要求5所述的装置,其特征在于,
7.根据权利要求5或6所述的装置,其特征在于,
8.根据权利要求5或6所述的装置,其特征在于,
9.一种对象属性的复制装置,其特征在于,包括:处理器和存储器;所述处理器和所述存储器耦合;所述存储器用于存储一个或多个程序,该一个或多个程序包括计算机执行指令,当该对象属性的复制装置运行时,处理器执行该存储器存储的该计算机执行指令,以使该对象属性的复制装置执行如权利要求1-4中任一项所述的对象属性的复制方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当计算机执行该指令时,该计算机执行如权利要求1-4中任一项所述的对象属性的复制方法。