我正在尝试创建一个多模块项目,其中包含两个模块:核心模块和Web模块。它们都是我在Spring Initialzer上生成的Spring Boot项目。我已设置了Maven POM文件,但我在部署时遇到了问题。然而,我不确定配置将如何工作。
核心模块将包含领域对象/实体、Spring Data JPA存储库、服务,并将打包为JAR。Web模块将包含Spring Security、控制器和视图。它将被打包为WAR。
Spring Boot项目的普通结构如下所示。
核心模块将包含领域对象/实体、Spring Data JPA存储库、服务,并将打包为JAR。Web模块将包含Spring Security、控制器和视图。它将被打包为WAR。
Spring Boot项目的普通结构如下所示。
/
pom.xml
src/
..main/
....com/
......example/
........app/
..........Application.java
..resources/
....application.properites
我有两个这样的东西,以及两个Spring Boot应用/配置/初始化类。
我的问题是
Do the properties have to live in a single configuration file or can I have two application.properities, one the core jar, and one for the WAR?
Can I have the following in my core.jar
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TimesheetCoreApplication { public static void main(String[] args) { SpringApplication.run(TimesheetCoreApplication.class, args); } }
在我的web.war文件中,还有以下两个文件:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class TimesheetWebApplication {
public static void main(String[] args) {
SpringApplication.run(TimesheetWebApplication.class, args);
}
}
AND
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(TimesheetWebApplication.class);
}
}
- 由于Spring Boot进行了大量的自动配置,它们是否会在配置方面互相干扰,产生冲突或覆盖彼此?
如何解决这个问题?如果可能的话,我想利用Spring Boot。