Структурирование кода при использовании Spring Boot
Spring Boot не требует какой-либо конкретной компоновки кода для работы. Тем не менее, есть некоторые лучшие практики, которые помогают.
Использование “default” пакета
Когда класс не включает объявление пакета, он считается находящимся в “default package”. Использование “default package”, как правило, не рекомендуется, и его следует избегать. Это может вызвать особые проблемы для приложений Spring Boot, которые используют аннотации @ComponentScan, @ConfigurationPropertiesScan, @EntityScan или @SpringBootApplication, поскольку каждый класс из каждого jar читается.
Рекомендуется следовать Java-соглашениям об именах пакетов и использовать обратное доменное имя (например, com.example.project).
Нахождение основного класса приложения
Как правило, рекомендуется размещать основной класс приложения в корневом каталоге над другими классами. Аннотация @SpringBootApplication часто размещается в вашем основном классе и неявно определяет базовый “search package” для определенных элементов. Например, если вы пишете приложение JPA, пакет аннотированного класса @SpringBootApplication используется для поиска элементов @Entity. Использование корневого пакета также позволяет сканировать компоненты только для вашего проекта.
Если вы не хотите использовать @SpringBootApplication, аннотации @EnableAutoConfiguration и @ComponentScan, которые он импортирует, определяют это поведение, поэтому вы также можете использовать их.
Следующий листинг показывает типичный макет:
com
+- example
+- myapplication
+- Application.java
|
+- customer
| +- Customer.java
| +- CustomerController.java
| +- CustomerService.java
| +- CustomerRepository.java
|
+- order
+- Order.java
+- OrderController.java
+- OrderService.java
+- OrderRepository.java
Файл Application.java объявляет метод main вместе с базовым @SpringBootApplication следующим образом:
package com.example.myapplication;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Читайте также:
- Системы сборки и Spring Boot: использование Maven
- Разработка вашего первого Spring Boot приложения
- Spring Boot стартеры
Комментарии
Отправить комментарий