我正在处理的项目在其所有样板荣耀中使用直接 JDBC 数据访问,并且不使用任何事务。我觉得使用事务和简化数据访问方法的编写方式很重要,尤其是当前正在进行一些更改。该项目已经存在了很长一段时间,不适合 ORM 框架。它还使用了很多单例(呃),并且解开它以使其能够使用依赖注入将是相当多的工作,我认为我无法说服任何人我们现在应该这样做。
我喜欢 Spring JDBC 的接口,特别是通过它的SimpleJdbcTemplate
. 我的问题是如何为此启用一些简单的(每个 servlet 请求)事务,而无需在每个数据访问方法中以编程方式设置任何内容或使用 Spring IoC 容器或 AOP。我玩弄了自己的架构,最终得到一个类似于 's 的接口,并且当在请求的上下文中调用它时(通过 a和 a )SimpleJdbcTemplate
,可以使用单个请求本地连接和事务。它似乎工作得很好,但我认为使用像 Spring JDBC 这样的好的外部库会更好。ServletRequestListener
ThreadLocal
有人对此有经验吗?