【问题标题】:Spring + Hibernate implementation in multi-modules多模块中的 Spring + Hibernate 实现
【发布时间】:2013-12-20 15:23:09
【问题描述】:

我的问题 - 为了学习 Spring,我编写了一个由多个模块(多模块)组成的不太好的应用程序。

 module1
    src
      entity
      dao
    resource
        spring-config.xml ---> This is DataSource, SessionFactory, TransactionManager
 module2
    src
      entity
      dao
    resource
        spring-config.xml ---> This is DataSource, SessionFactory, TransactionManager
 service1
     src
       service_for_module1
     resource
       spring-config.xml ---> Initialization bean Service1 (used for module1)
 service2
     src
       service_for_module2
     resource
       spring-config.xml ---> Initialization bean Service2 (used for module2)
  web
    src
      ManagerBeanForJSF
    web
      pages
      WEB-INF
        spring 
            spring-config.xml ---> Import all spring config from modules

我有异常 org.hibernate.hql.internal.ast.QuerySyntaxException。 当我没有 module2 时 - 一切都成功了。与 SessionFactory 和 TransactionManager 重复相关的错误? 您能否举一个由多个模块组成的 Spring 应用程序示例。 谢谢。

【问题讨论】:

    标签: java spring hibernate applicationcontext multi-module


    【解决方案1】:

    我建议你使用 maven 项目并发布 pom,以便我们可以清楚地看到项目之间的依赖关系。

    【讨论】:

      【解决方案2】:

      由于您的问题有点不完整,我只能猜测您使用的是 maven。正确的?无论如何,在使用 Spring 时,您绝对应该像您自己编写的那样,在一个通用模块中定义基础设施部分。 Spring 提供了包含其他上下文文件的可能性。即使使用通配符。因此,您可以定义一个单一的主上下文文件,一次性加载所有其他文件。最好有某种命名约定,以便每个模块都可以轻松地贡献其上下文文件。

      【讨论】:

      • 我必须将文件 spring-config.xml 制作为 Web 模块并将 spring-config 清理为 module1 和 module2?将 beans DataSource 和 SessionFactory 和 TransactionManager 移动到 spring-config 到 Web-module?
      • @ddrad 嗯,是的,应该可以。我建议将富有成效的基础设施弹簧定义放入 Web 模块中。对于测试,不如将测试基础设施复制到一个所有其他模块都可以“看到”的通用模块中。
      猜你喜欢
      • 1970-01-01
      • 2020-06-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 2019-04-17
      相关资源
      最近更新 更多