这里是简单的情况分解,我想知道如果我做这个最佳或如果有更好的约定。我为了学习目的创建了一个虚拟项目。这是否复制了多模块项目(即Spring)中的Maven依赖项?
我创建了一个多模块Maven项目。简单地说,父母POM与两个同胞孩子POMS,一个是服务层,另一个是网络层。
最终结果目标是在Web项目的目标文件夹中具有完整的WAR,我可以将其部署到Tomcat中。
这里是我不清楚的地方: - 服务项目和Web项目都需要使用Spring。 Service项目需要使用Spring,因为它是依赖注入的目的。我需要一个简单的Dog类,并将它自动注入到DogService对象中。这一切工作正常。 - 然后我需要将DogService对象自动注入到Dog控制器中。 Dog控制器存在于多模块结构中的Web项目中。这也可以正常工作,因为我已经在Service项目的Web项目中声明了一个依赖关系,因此所有的Service JARs都包含在Web项目的最终构建的WAR中。
1)是否有一种方法可以简单地为两个子项目声明Spring依赖项,而无需在每个子项POM.xml中声明依赖项?我只是想确保我没有复制资源。我相信这样做的方法只是在Parent POM.xml中声明依赖关系。
2)如果我做了上面的#1,这是创建项目的最佳方式吗?实际上,WEB模块是包含所有最终jar的模块,实际上就好像SERVICE项目在Tomcat中一样。就Tomcat'知道'而言,所有的东西都是一堆包含类的JAR文件,其中一些已经被写入我的WEB模块中,其中一些已经写入了SERVICE模块中,所有这些与JAR文件无关生产/ Tomcat环境。对或错?
谢谢!
如果这是新的开发,通常最好使用Spring Boot的独立jar而不是部署到外部容器中。 – chrylis