【问题标题】:Spring DAO Repository exception handlingSpring DAO 存储库异常处理
【发布时间】:2015-08-24 15:25:54
【问题描述】:

Spring 文档说 @Repository 注释启用“异常翻译”。

好吧,但是我在哪里抓到它们呢?在 DAO 方法内部还是有另一个系统?

【问题讨论】:

    标签: java spring exception dao


    【解决方案1】:

    DAO 抛出的任何内容都将被取消选中。不要在 DAO 中捕获任何东西。如果您在 DAO 或服务方法中捕获异常,Spring 将不知道回滚事务。在控制器层配置异常处理(使用异常处理程序,而不是使用 try-catch),这是通常会捕获数据访问异常的地方,因为除了记录它们之外没有任何事情可以处理它们。

    【讨论】:

      【解决方案2】:

      这意味着如果您使用 Spring Abstraction for JDBC、JPA/Hibernate 或 JDO,那么您不必实现 JDBC 或 RDBMS 供应商特定的错误处理。所以 Spring 包装了所有这些异常,然后将它们包装到 DataAccessException 类中。当您想切换到不同的持久性技术时,您不必担心会重构您的代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-23
        • 2014-08-02
        • 2014-10-18
        • 1970-01-01
        • 1970-01-01
        • 2011-03-29
        • 1970-01-01
        相关资源
        最近更新 更多