Skip to content

4.1. Project Structure and Dependencies

4.1. Project Structure

4.1.1. Spring Boot Version

  • Required: Spring Boot 3.x (use the latest patch version)
  • Spring Boot 3.x requires Java 17 or higher; this standard specifies Java 21 as the baseline.

4.1.2. Profile Strategy

Application configuration must be separated by profile.

ProfilePurposeActivation Method
localLocal developmentDefault when running from IDE
devDevelopment serverSpecified during CircleCI deployment
stagingStaging serverSpecified during CircleCI deployment
prodProduction serverSpecified during CircleCI deployment

4.2. Dependency Management

4.2.1. Spring Boot BOM

Use spring-boot-starter-parent as the parent to manage dependency versions centrally.

xml
<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>3.4.3</version>
  <relativePath/>
</parent>

4.2.2. Dependency Principles

  • Dependencies managed by the Spring Boot BOM must not specify explicit versions.
  • External library versions must be defined in <properties> and referenced from there.
  • SNAPSHOT dependencies must not be used in production builds.

TIENIPIA QUALIFIED STANDARD