java中的注解和反射可以说是开发中的两大利器,注解和反射互相配合使用会起到事半功倍的效果。另外,注解也可以和MethodInterceptor方法拦截器配合。
我们日常使用的一般是spring提供和自定义的注解,这里重点说自定义注解。自定义注解一般分为3类:
1.标识注解
一般作用在类或者接口上,起标记作用。例如我们声明一个注解为@DAO,那我们在某个类或者接口上声明它,那么这个类或者接口就相当于是我们的数据操作实例。
2.单值注解
该类注解都是返回一个唯一的值。
3.多值注解
多用于按照一定的顺序返回响应的值。
各个类注解在使用时都按照各自的声明属性来使用
其中@Dao是声明在类上的,@Parameters和@Sql是声明在方法上的。
在使用反射之前,要加载目标类获取声明的方法,判断方法是否被注解标记,获取注解值。
获取的注解值用很多用途,可以用来给spring的命名参数模板传参数等等,按照实际项目需求进行设计。
在实际项目中,上述的思路只是一小部分,接下来可以利用AOP和MethodInterceptor设计自动装载模板、执行
JDBC操作等等,具体的实现要看实际的业务。