我正在尝试仅使用 XML 语法配置 spring,并遇到将本机资源异常转换为DataAccessException
. 根据文档,我总是需要放置@Repository
存储库 bean 并声明PersistenceExceptionTranslationPostProcessor
bean。我认为这应该是使用 AOP 定义某种过滤器的方法,该过滤器将执行异常翻译,但在文档中找不到类似的东西。这个想法是引入约定,例如“对于以 Dao 结尾的所有内容都应用本地异常翻译”。有任何想法吗?
问问题
507 次
1 回答
0
类似于 @Repository 注释 spring xml 配置看起来像:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
...
<bean id="translationInterceptor" class="org.springframework.dao.support.PersistenceExceptionTranslationInterceptor" />
<aop:config>
<aop:advisor advice-ref="translationInterceptor" pointcut="within(org.example.spring.dao..*Dao)" />
</aop:config>
...
</beans>
切入点 "within(org.example.spring.dao..*Dao)" 将拦截器应用于位于包 org.example.spring.dao 的类中的方法,其子包以 "Dao" 后缀结尾
于 2014-03-31T09:27:39.237 回答