一个数据库上的两个Spring MVC项目(hibernate)
我一直在使用SpringMVC3和Hibernate开发web应用程序,以实现持久性。 基本上,我的问题是需要有两个独立的项目(一个用于最终用户,另一个完全用于管理员)。但是,两个应用程序都应该引用同一个数据库 我一直在考虑创建三个独立的项目: -一个基本上是带有模型、存储库和服务的Hibernate项目 -第二个是针对管理员的SpringMVC项目 -第三个是面向用户的SpringMVC项目 所以我的问题是——有没有可能从我的两个Spring MVC项目中引用这个Hibernate项目,因为我只想使用这些用于数据访问的服务一个数据库上的两个Spring MVC项目(hibernate),hibernate,spring-mvc,configuration,spring-3,Hibernate,Spring Mvc,Configuration,Spring 3,我一直在使用SpringMVC3和Hibernate开发web应用程序,以实现持久性。 基本上,我的问题是需要有两个独立的项目(一个用于最终用户,另一个完全用于管理员)。但是,两个应用程序都应该引用同一个数据库 我一直在考虑创建三个独立的项目: -一个基本上是带有模型、存储库和服务的Hibernate项目 -第二个是针对管理员的SpringMVC项目 -第三个是面向用户的SpringMVC项目 所以我的问题是——有没有可能从我的两个Spring MVC项目中引用这个Hibernate项目,因为我
提前谢谢 是的,您可以,但不是对hibernate项目本身的引用,您可以使用Ant脚本在hibernate项目中轻松构建一些
Jar
文件,这个Jar
文件将封装您所有的公共类和资源
然后您可以将这个Jar添加到内部和管理项目构建路径中
这个解决方案的问题是,您需要记住在公共类的每次更改上构建公共Jar
文件
检查此项以了解如何使用Ant构建Jar,您也可以使用Maven
另一种方法是使用SVN externals
或版本控制系统上的任何映射功能,将公共项目作为外部存储库,并在两个项目(内部和管理)中检出。但是,使用此方法将存在以下问题:
- 与第一种方法相比,此过程的配置并不容易
- 您的代码被复制三次,一次在公共项目中,另两次在内部和管理项目签出中,相同的代码被复制到相同的文件中
- 当您发现自己在运行的项目中编辑一个普通文件而没有任何效果,只是在最后一分钟发现您正在编辑另外两个复制文件中的一个时,请不要感到惊讶:)
- 有经验的人写过他糟糕的旅程
最后一种方法,我个人认为我更喜欢的方法是编写一个服务层来访问作为独立应用程序运行的代码。如何做到这一点,很大程度上取决于你所喜欢的,你想要集成的,以及你必须考虑的任何架构决策。在这种方法中,您将编写使用Hibernate的服务层,并以某种方式发布web应用程序可以使用的“API”。API可以是JMS(如果所有代码都在同一个app服务器下运行,我更喜欢),RESTful或非RESTful web服务,甚至是一些远程方法调用机制,比如RMI或CORBA。根据实施情况,这确实可以增加将来扩展应用程序的能力。感谢您告诉我两种可能的解决方案,我一定会查看它们!我在.NETMVC平台上做了很多工作,在我看来,在那里做这样的事情要容易得多,而且没有太多的复杂性。。。然而,抱怨永远不是解决办法:)。再次感谢!使用maven多模块项目