【发布时间】:2021-12-11 01:16:06
【问题描述】:
我正在将旧的 Java EE 应用程序升级到基于 Spring 的解决方案。在旧的应用程序中,有自定义注解来创建代理注入代理 bean 并拦截方法调用 [Interceptor classes implements MethodInterceptor) 或 (implements InvocationHandler),用于在执行前后执行一些操作。
我们已经用 @Service、@Repository 等 Spring 标记接口替换了这些自定义注释,并且我们能够使用 @Autowire bean 实例。现在我的问题是如何拦截这些自动装配的 bean 来执行每次执行和执行后的活动。我能想到的一种解决方案是使用 Spring AOP 并使用 @Around 切入点。只是想知道有没有其他更好的替代品可以像这样使用
- 扩展
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor - 使用
BeanFactoryPostProcessor或BeanPostProcessor。 - 使用
InstantiationAwareBeanPostProcessor
【问题讨论】:
-
AOP 专门用于此目的,因此 AOP 更适合您的需要 ...
-
你试过@PostConstruct吗?它解决了你的目的吗?
标签: spring spring-aop spring-bean spring-aspects