12

当 Spring 捕获 SQLException 时,它是否会在抛出它自己的 DataAccessException(运行时)异常之前关闭准备好的语句、结果集和/或连接?

我有一个开发人员想要创建一个 AOP 方面来捕获这些异常并记录和/或关闭连接。

@AfterThrowing(pointcut="dataAccessOperation()", throwing="exception")
public void doRecoveryActions(JoinPoint thisJoinPoint, DataAccessException exception) {
     // log and/or close connection
}
4

2 回答 2

21

是的。

这就是重点JdbcTemplate- 它处理各种样板操作,包括释放所有资源。请参阅12. 使用 JDBC 进行数据访问

于 2011-02-23T20:51:47.800 回答
0

我认为您的开发人员应该看看springs 事务管理功能。您可以使用 AOP 来建议日志记录、回滚行为甚至重试或其他异常处理操作,以完全声明性地做出反应。

于 2011-02-23T21:06:38.667 回答