首先创建两个注解,一个是写在方法上的注解,表明哪些方法是需要加解密操作的,另一个注解是写在实体类上的字段上(自定义的vo和dto也可以加上注释),表明这个实体类的这个字段需要加解密操作。
1.方法注解
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Order(Ordered.HIGHEST_PRECEDENCE)
public @interface EnCodeMethod {
}
2.字段注解
@Inherited
@Documented
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Order(Ordered.HIGHEST_PRECEDENCE)
public @interface EnCodeField {
}
然后创建字段加解密切面
@Order(Ordered.HIGHEST_PRECEDENCE)
@Aspect
@Component
public class asdasd {
Logger log = LoggerFactory.getLogger(this.getClass());
@Pointcut("@annotation(com.ny.common.annotation.EnCodeMethod)")
public void annotationPointCut() {
}
@Around("