我的目标是通过使用Aspect和Spring AOP对Pojo中的所有getter进行一些更新。我想做些类似的事情,当我做吸气剂时,我可以得到“ haha” + Str。
这是我的观点:
@Slf4j
@Aspect
@Configuration
public class GetterAspect {
@Before("execution(* com.docusign.docusign.dto.AspectPojo.getName())")
public void before(JoinPoint joinPoint) {
log.info(" Check before pojo");
log.info("", joinPoint);
}
}
这是我的Pojo:
@Data
public class AspectPojo {
private String name;
private String email;
}
这是我的测试ctrl:
@GetMapping
public AspectPojo get() {
AspectPojo pojo = aspectManager.getPojo();
log.info(pojo.getName());
return pojo;
}
我无法触发切入点,如果有人可以提供帮助,我将不胜感激。
答案 0 :(得分:0)
Spring AOP不支持AspectJ标准的所有功能。我记得Spring AOP只能处理Spring Bean的公共方法。如果您的吸气剂处于@Controller
,@Component
或@Service
带注释的类中,则将对其进行处理,但例如JPA实体将无法通过这种方式进行处理。