JDBC 切入点未被调用

JDBC Aspect pointcut not invoked

首先,我使用 AspectJ 方面来记录执行时间并从 JDBC 模板请求参数。

在我的项目中,我有另一个方面正在记录我的服务方法,这个方面工作正常。

我试图重现相同的配置来捕获 JDBC 操作,但我的方面没有被调用,因为我试图在调试中执行我的代码,但我从未到达我的第一个断点。

我看到同一主题有多个问题,我尝试了几个建议的解决方案,但 none 对我的情况有效。

我的 Poincut 方面配置如下:

@Aspect
@Slf4j
@Component
public class SQLLoggingAspect {

private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
private static final DateTimeFormatter  TIMESTAMP_FORMATTER  = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");

@Pointcut("execution(* org.springframework.jdbc.core.JdbcOperations.*(..))")
public void sqlMethods(){}

@Before(value = "sqlMethods()", argNames = "joinPoint")
public void log(JoinPoint joinPoint) throws Throwable {
    Object[] methodArgs = joinPoint.getArgs(),

我没有声明任何 aspectJ autoproxy,因为我的第一个方面在没有它的情况下也能正常工作,而且据我所知,spring 应该会自动处理它。

我不熟悉这种开发。也许我在做一些愚蠢的事情。

我发现了我的问题,我必须设置自动代理来捕捉 SQL 调用。

我刚刚使用了 :

@EnableAspectJAutoProxy