我们有多项服务,理想情况下,每项服务都应相互独立运行。这些服务的主要用途是支持我们的网络应用程序。我们正在寻找将 ibatis 与这些服务结合使用的最佳方式。
我们的第一种方法是使用 SqlSessionFactory 建立一个项目,并让所有服务实现都使用该项目进行数据访问。这意味着项目依赖于数据对象的所有服务(我们必须将服务和实现分开以消除循环依赖),并且它包含所有 sql 映射。优点是任何时候都有一个 SqlSessionFactory 实例,并且需要管理一个配置。尽管如果像 junits 或其他一些实用程序一样使用一项服务,则无论如何都会加载所有 sql 映射,并且所有服务都是依赖项。
另一种方法是让每个服务都有自己的 ibatis 配置和 SqlSessionFactory 实例。这将避免需要依赖数据访问项目的圣地,但意味着 Web 应用程序上的多个 SqlFactory 实例。
我喜欢第二种方法,尽管我看到了这两种方法的优缺点。
你会怎么做?你从我的论点中添加或删除了什么?
请帮忙!!!
最佳答案
虽然我认为你的第一个论点的优势指向了 SOA 的一般弱点,但我认为如果你在做 SOA,那么让所有服务相互依赖的整个目的就落空了。
如果您正在执行 SOA,您将接受为了组件的解耦和隔离而使用更低效的资源的权衡。
关于java - 如何在面向服务的架构中使用mybatis 提高效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4102945/