Рубрики
Без рубрики

Многомодульный Проект С Пружинной Загрузкой

Узнайте, как создать JAR библиотеки Spring Boot в качестве модуля Maven и использовать его в модуле приложения Spring Boot.

Автор оригинала: baeldung.

1. Обзор

В этом кратком руководстве мы покажем , как создать многомодульный проект с помощью Spring Boot .

Сначала мы создадим библиотечную банку, которая сама по себе не является приложением, а затем мы создадим приложение, которое использует нашу библиотеку.

Для ознакомления с Spring Boot , пожалуйста, обратитесь к этой статье .

2. Настройка

Чтобы настроить наш многомодульный проект, давайте создадим простой модуль, используя упаковку pom для объединения наших библиотечных и прикладных модулей в нашей конфигурации Maven:

com.baeldung
parent-multi-module
pom

Мы создадим внутри нашего проекта два каталога, которые будут отделять модуль приложения от модуля библиотеки jar .

Давайте объявим наши модули в pom.xml :


    library
    application

3. Библиотечная банка

Для нашего библиотеки модуля мы будем использовать банку упаковку:

com.baledung.example
library
jar

Поскольку мы хотим воспользоваться преимуществами Spring Boot управление зависимостями , мы будем использовать spring-boot-starter-родительский в качестве родительского проекта, позаботившись о том, чтобы установить <Относительный путь/> в пустое значение , чтобы Maven разрешил родительский pom.xml из репозиториев:


    org.springframework.boot
    spring-boot-starter-parent
    2.2.6.RELEASE
    

Обратите внимание, что если у нас есть собственный родительский проект, мы можем вместо этого импортировать управление зависимостями в виде спецификации (спецификации) в <Управление зависимостями/> раздел pom.xml :


    
        
            org.springframework.boot
            spring-boot-dependencies
            pom
            2.4.0
            import
        
    

Наконец, начальные зависимости будут довольно простыми:


    
        org.springframework.boot
	    spring-boot-starter
    

В этом модуле плагин Spring Boot не нужен, потому что его основная функция заключается в создании исполняемого файла über-jar , который нам не нужен и не нужен для библиотеки.

После этого мы готовы разработать сервисный компонент, который будет предоставляться библиотекой :

@Service
public class EvenOddService {

    public String isEvenOrOdd(Integer number) {
        return number % 2 == 0 ? "Even" : "Odd";
    }
}

4. Проект Приложения

Как и наш библиотека модуль, наш прикладной модуль будет использовать банку упаковку:

com.baeldung.example
application
jar

И мы воспользуемся преимуществами Spring Boot управления зависимостями, как и раньше:


    org.springframework.boot
    spring-boot-starter-parent
    2.2.6.RELEASE
    

В дополнение к весне Зависимость от стартера загрузки, мы включим нашу библиотеку jar , созданную в предыдущем разделе :


    
        org.springframework.boot
        spring-boot-starter-web
    
    
        com.baeldung.example
        library
        ${project.version}
    

Наконец, мы используем плагин Spring Boot :


    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    

Есть несколько удобных причин использовать плагин, упомянутый выше в этом месте.

Во-первых, он предоставляет встроенный распознаватель зависимостей, который устанавливает номер версии в соответствии с зависимостями Spring Boot .

Во-вторых, он ищет основной метод, который будет помечен как выполняемый класс.

Finally, and perhaps most importantly, it collects all the jars on the classpath and builds a single, исполняемых о-jar .

Теперь, когда все готово для написания нашего класса приложений и перехода прямо к делу, давайте реализуем контроллер внутри основного класса приложений :

@SpringBootApplication(scanBasePackages = "com.baeldung")
@RestController
public class EvenOddApplication {

    private EvenOddService evenOddService;

    // constructor

    @GetMapping("/validate/")
    public String isEvenOrOdd(
      @RequestParam("number") Integer number) {
        return evenOddService.isEvenOrOdd(number);
    }

    public static void main(String[] args) {
        SpringApplication.run(EvenOddApplication.class, args);
    }
}

5. Заключение

В этой статье мы рассмотрели, как реализовать и настроить многомодульный проект и создать библиотеку jar самостоятельно с Spring Boot .

Как всегда, примеры кода можно найти на GitHub .