在项目开发中,当使用配置文件的时候,需要对一些配置参数进行合法校验,如果不存在则会抛出异常或者提醒用户重新修改配置文件后运行系统。 以前的做法就是读取到配置文件后,每个配置项挨个检查,写多个if判断是否存在问题。 这样可以实现功能需要,但是后续的维护工作是一个很大的问题。 增加某一项配置后,需要增加一个if判断。 如果漏掉一个判断,则可能会因为取到一个语言层面的类型的默认值,就会造成一些不可挽回的损失。 由于java提供了注解和反射,这样可以利用注解把参数的规格及发生异常时候的提示信息通过注解组织起来。然后提供一个统一的校验工具函数实现对参数项的校验。
实现目标
实现一个基本的配置项是否为空的统一的校验函数。 只对参数进行是否为空的判断,并且在为空的时候可以抛出指定的错误信息。
实现思路
定义一个注解,主要描述一个字段是否允许为空和一个为空时候的异常信息。定义如下:
class名:ValidField
怎么使用呢, 直接在类的成员变量上面,增加注解及注解说明。例如:
具体实现的逻辑代码如下:
使用方法
后续如果再增加配置项,直接声明配置属性即可, 不需要额外增加代码进行有效性校验代码。 如果有其他逻辑处理,也可以扩展注解和校验实现代码逻辑即可。