我想知道,如果我在应用程序上下文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创建了一个切入点,它可以正常工作 .

有什么不同? “组件扫描”配置中是否存在缺陷?