Привет всем, я из сообщества разработчиков Tencent Cloud. Front_Yue,В этой статье вы узнаете, как Создать легко поддерживаемые, масштабируемые, модульные приложения Spring Boot.。
Как мы знаем, Spring Boot — это очень популярная среда веб-разработки на Java, которая помогает разработчикам быстро создавать эффективные и масштабируемые веб-приложения. Однако по мере увеличения размера проекта поддерживать отдельный проект Spring Boot может становится все труднее. В это время модульный проект Spring Boot становится незаменимым выбором.
Итак, я начну рассказывать, как создать модульный проект Spring Boot, чтобы упростить поддержку и расширение нашего проекта.
1. Улучшите удобство сопровождения и возможность повторного использования кода:Разделите приложение на независимые、многоразовые компоненты,Может улучшить удобство сопровождения и возможность повторного использования кода. Эти компоненты можно повторно использовать в приложении.,Это уменьшает дублирование кода,Улучшена поддержка кода.
2. Лучше организуйте свой код:модульизация может помочь нам лучше организовать наш код.,Сделайте код более простым в управлении и понимании。каждыймодуль У каждого свои обязанности и функции,Это делает код более понятным и понятным.,Легко понять и поддерживать.
3. Повышение эффективности разработки:модульизация может уменьшить дублирование кода,Повышение эффективности разработки。каждыймодуль У каждого свои обязанности и функции,Это позволяет разработчикам больше сосредоточиться на своем модуле.,Таким образом, быстрее выполняются задачи разработки.
4. Лучшее управление и контроль зависимостей:модульпозволяет лучше управлять и контролировать зависимости。каждыймодуль У каждого свои зависимости,Это делает зависимости проще и понятнее.,Простота управления и обслуживания.
Способ разделения модулей Spring Boot можно определить исходя из конкретных потребностей бизнеса и масштаба проекта. Вообще говоря, мы можем разделить его по функциям, бизнесу, технологиям и т. д. Ниже приведены некоторые мои мнения по поводу разделения модулей.
Разделите модули по бизнесу и разделите бизнес-функции в один модуль. Например, разделите управление заказами проектов торгового центра, управление платежами, управление логистикой и другие функции в один и тот же модуль. Это может сделать код более ориентированным на бизнес, сделать его более простым для понимания и сопровождения.
Разделите модули по технологиям и поместите функции одного технологического стека в один и тот же модуль. Например, такие функции, как операции с базой данных, операции с кэшем и операции с очередью сообщений, разделены на разные модули. Это делает код более модульным, упрощая его повторное использование и расширение.
При разделении модулей вы можете рассмотреть возможность выделения некоторых общих модулей, таких как классы инструментов, классы конфигурации, базовые модули и т. д. На эти общедоступные модули могут полагаться другие модули, тем самым улучшая возможность повторного использования и удобства сопровождения кода.
Сначала нам нужно создать пустой проект Spring Boot. Вы можете использовать Spring Initializr для создания пустого проекта Spring Boot или использовать интегрированную среду разработки, такую как IDEA или Eclipse, для создания пустого проекта Spring Boot.
При выборе соответствующих зависимостей вы можете сначала выбрать Spring Web. Что касается других, то это потому, что я помещу зависимости в соответствующие модули позже, а именно так, как упоминалось ранее, мы разделим модули.
Не забудьте установить конфигурацию Maven после создания проекта.
точно так же, как указано выше,в корнемодуль Создать несколькоspringbootребенокмодуль,Например, естьdemo-admin,demo-common,demo-framework,demo-system,После завершения создания,Мы можем удалить некоторые файлы, которые не используются в проекте.,Содержите наши проекты в чистоте и порядке.
После завершения сортировки можно получить следующие результаты, которые предназначены для справки и в основном основаны на реальных потребностях.
demo (корневой): этот модуль является корневым модулем проекта.
demo-admin: Этот модуль является фоновой службой проекта.
demo-common: этот модуль является общедоступным модулем проекта, включая некоторые общедоступные классы инструментов, определения констант, обработку исключений и другие функции.
demo-framework: этот модуль является основным модулем платформы проекта и содержит некоторые общие технические компоненты, такие как Spring. Загрузите, MyBatis, Redis.
демо-система: Этот модуль представляет собой системный модуль, включающий управление пользователями, настройки системы, управление ролями, управление меню, управление журналами, словарь данных и другие функции.
demo-xxxxxx: Другое проектмодуль,Например, бизнес нашего проектамодуль
После создания проектов нам необходимо настроить их, чтобы сделать их модульными. В корневой модуль нам нужно добавить информацию, связанную с подмодулем, например:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.1</version>
<relativePath/>
</parent>
// Информация о корневом компоненте
<groupId>com.demo</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>demo</description>
<packaging>pom</packaging>
<modules>
// demo-admin модуль
<module>demo-admin</module>
// demo-common модуль
<module>demo-common</module>
// demo-framework модуль
<module>demo-framework</module>
// demo-system модуль
<module>demo-system</module>
</modules>
При этом нам также необходимо настроить подмодули. В качестве примера я беру demo-admin, и другие модули имеют такую же конфигурацию. Обратите внимание, что я помещаю веб-конфигурацию Spring в модуль demo-framework, который находится подробнее. линия с модульной разработкой.
<modelVersion>4.0.0</modelVersion>
// Информация о родительском модуле
<parent>
<artifactId>demo</artifactId>
<groupId>com.demo</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
// Текущая информация о модуле
<artifactId>demo-admin</artifactId>
После завершения настройки необходимо отредактировать работающую конфигурацию, как показано на рисунке ниже:
Нажмите «Выполнить». Если вы используете его впервые, может появиться следующая ошибка:
Как упоминалось выше, я поместил Springboot-Web в модуль demo-framework, поэтому модуль необходимо вводить в demo-admin во время выполнения.
<dependency>
<groupId>com.demo</groupId>
<artifactId>demo-framework</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
После вышеописанных операций мой проект наконец-то заработал.
После разделения проекта Spring Boot на модули каждый модуль имеет свои собственные зависимости, чтобы сделать зависимости более простыми и понятными, ими легче управлять и поддерживать. Мы можем использовать инструменты сборки, такие как Maven, для настройки зависимостей модуля, а затем добавить соответствующие зависимости в POM-файл. Конечно, если вы используете для разработки инструменты разработки IDEA, вы также можете просмотреть зависимости.
Их зависимости показаны на рисунке ниже:
На этом этапе мы завершили создание модульного проекта с использованием фреймворка Springboot.
Мы создаем новый слой контроллера в demo-admin и пишем простой тестовый код, например:
package com.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
В этом плане мы правильно построили многомодульный проект Springboot.
Модульные проекты Spring Boot могут улучшить удобство сопровождения и возможность повторного использования кода, лучше организовать код и управлять им, повысить эффективность разработки, а также лучше управлять и контролировать зависимости. При создании модульного проекта Spring Boot нам необходимо разделить приложение на независимые, повторно используемые компоненты, определить интерфейс и реализацию каждого модуля, а также настроить зависимости модулей. Благодаря этим шагам мы сможем улучшить удобство сопровождения и возможность повторного использования нашего кода.
Наконец, я хотел бы поблагодарить моих друзей из сообщества разработчиков Tencent Cloud за их постоянное общение. Если вам нравится контент моего блога и вы признаете мое мнение и обмен опытом, ставьте лайки, собирайте и комментируйте. Это будет моей самой большой поддержкой и поддержкой. . В то же время я также приветствую ценные комментарии и предложения каждого, чтобы я мог лучше улучшить и усовершенствовать свой блог.