1

我有一个端点映射一个 web 服务,用于在数据库中插入一些关键字:

@Transactional(readOnly = false,isolation= Isolation.SERIALIZABLE)
public Source saveKW(...).

输入是一个请求。

我想在方法上添加一个拦截器以验证参数。这个将从数据库中读取一些值。

我希望这个拦截器嵌入在为端点(或相反)声明的事务中。换句话说,我希望他们在同一个事务中。

理想情况下,我正在寻找带有注释的类似内容:

@Transactional(readOnly = false,isolation= Isolation.SERIALIZABLE)
@validator("KeyWordValidaor.class")
public Source saveKW(...)

在哪里KeyWordValidaor验证参数的类

你有任何想法或简短的例子来以这种方式或以其他真实方式实现这一点吗?

4

1 回答 1

1

验证必须在事务内部,因为它正在查询数据库以测试约束。我已经找到了我的解决方案。我正在使用 spring aop 并且我通过地图从 spring 上下文中动态加载适当的验证器。(提前自动连接未知bean名称的非常​​未知的功能!)。由于 order 属性,它在事务内部。

于 2010-05-15T22:13:27.920 回答