我想知道,如果我在应用程序上下文XML中明确指定包含连接点的bean,那么为什么我的观点会削减Spring AOP只能起作用 .
通常在我的项目中,所有Spring bean都是通过注释定义的:
@Service
@Component
配置了
<context:component-scan base-package="my.package.base" scoped-proxy="interfaces" />
<context:annotation-config />
bean已创建并可在我的应用程序中使用,但不会触发切入点 .
当我在我的应用程序上下文中手动指定bean时
<bean class="..." />
匹配切点并执行相应的建议 .
@Pointcut("execution(* my.package.base..*.update*(..))")
public void updateDataPointcut() {}
AOP在应用程序上下文中配置
<aop:aspectj-autoproxy />
我还为Spring Data JPA CrudRepository创建了一个切入点,它可以正常工作 .
有什么不同? “组件扫描”配置中是否存在缺陷?