我正在启动一个Spring项目,该项目应该由四个主要模块组成:
这是否可行,还是应该将项目分为具有公共库的两个Spring Boot项目? 我可以配置一个将Admin和Customer模块构建为.war文件并在Web模块中与SpringBootApplication一起运行的构建吗?
客户和管理模块不必位于同一端口上。唯一重要的是要同时运行它。
下面是我当前项目的结构。
/project-root
-pom.xml (pom packaging defined; modules: core, web-admin, web-customer)
/core
-src (contains service and repository classes)
-pom.xml (jar packaging)
/web-admin
-src (contains controllers and security configuration for admin portal)
-pom.xml (jar packaging for now; dependency on core)
/web-customer
-src (contains controllers and security configuration for customers)
-pom.xml (jar for now; dependency on core)
/web
-src (should contain SpringBootApplication to run all the modules)
答案 0 :(得分:1)
当然可以。您只需要注意以下几点:
baseScanPackages
属性; 例如:
/core
com.example.app.core <--- All the core classes would be on this package
/web-admin
com.example.app.admin <--- All the admin classes would be on this package
/web-customer
com.example.app.customer <--- All the customer classes would be on this package
/web
com.example.app <--- The SpringBootApplication class should be at this level
我是否可以配置将Admin和Customer模块构建为.war文件的构建,并使用SpringBootApplication在Web模块中运行它?
您不需要将管理和客户模块打包为war
文件,jar
打包是完美的。
客户和管理模块不必位于同一端口上。
这是硬性要求吗?如果是,那么最好编写两个不同的应用程序。否则,可以在同一端口上访问所有API。