Preporučena struktura paketa projekta Spring Boot

1. Pregled

Kada gradimo novi projekt Spring Boot, postoji visok stupanj fleksibilnosti u načinu na koji možemo organizirati našu nastavu.

Ipak, postoje neke preporuke koje moramo imati na umu.

2. Nema zadanog paketa

S obzirom na činjenicu da bilješke Spring Boot-a vole @ComponentScan, @EntityScan, @ConfigurationPropertiesScan i @SpringBootApplication koristite pakete za definiranje mjesta skeniranja, preporučuje se da izbjegavamo koristiti zadani paket - to jest, trebali bismo uvijek prijaviti paket na našim predavanjima.

3. Glavna klasa

The @SpringBootApplication napomena pokreće skeniranje komponenata za trenutni paket i njegove podpakete. Stoga je solidan put imati glavna klasa projekta nalazi se u osnovnom paketu.

Ovo se može konfigurirati i još uvijek ga možemo pronaći negdje drugdje ručnim određivanjem osnovnog paketa. Međutim, u većini slučajeva ova je opcija zasigurno jednostavnija.

Čak što više, projekt zasnovan na JPA trebao bi imati nekoliko dodatnih napomena o glavnoj klasi:

@SpringBootApplication (scanBasePackages = "example.baeldung.com") @EnableJpaRepositories ("example.baeldung.com") @EntityScan ("example.baeldung.com")

Također, imajte na umu da će možda biti potrebna dodatna konfiguracija.

4. Dizajn

Dizajn strukture paketa neovisan je od Spring Boot-a. Stoga bi to trebalo nametnuti zahtjevima našeg projekta.

Jedna od popularnih strategija je paket po značajku, koji poboljšava modularnost i omogućuje privatnu vidljivost paketa unutar potpaketa.

Uzmimo za primjer projekt PetClinic. Ovaj su projekt izradili programeri Spring kako bi ilustrirali svoje viđenje kako treba strukturirati zajednički projekt Spring Boot.

Organiziran je na način po paketima. Dakle, imamo glavni paket, org.springframework.samples.petclinic, i 5 podpaketa:

  • org.springframework.samples.petclinic.model
  • org.springframework.samples.petclinic.vlasnik
  • org.springframework.samples.petclinic.sustav
  • org.springframework.samples.petclinic.veterinar
  • org.springframework.samples.petclinic.posjetiti

Svaki od njih predstavlja domenu ili značajku aplikacije, grupiranje visoko povezanih klasa unutar i omogućavanje visoke kohezije.

5. Zaključak

U ovom malom članku pogledali smo neke preporuke koje moramo imati na umu prilikom izrade projekta Spring Boot - i naučili kako možemo dizajnirati strukturu paketa.


$config[zx-auto] not found$config[zx-overlay] not found