Proyecto base y estructura
Un proyecto Spring Boot debe arrancar rapido, ser facil de entender y separar responsabilidades desde el primer dia. La estructura inicial condiciona mucho el crecimiento posterior.
Crear proyecto
Con Spring Initializr selecciona:
- Java 21 o version LTS usada por tu equipo.
- Maven o Gradle.
- Spring Web.
- Validation.
- Spring Data JPA si usaras base de datos.
- Actuator para observabilidad.
- Driver de base de datos.
Estructura recomendada
txt
src/main/java/com/example/shop/
ShopApplication.java
products/
ProductController.java
ProductService.java
ProductRepository.java
Product.java
ProductDto.java
shared/
error/
config/
src/main/resources/
application.ymlAgrupar por dominio evita carpetas enormes como controllers, services y repositories cuando la app crece.
Clase principal
java
@SpringBootApplication
public class ShopApplication {
public static void main(String[] args) {
SpringApplication.run(ShopApplication.class, args);
}
}@SpringBootApplication combina configuracion, auto-configuracion y component scanning.
Configuracion
Usa application.yml:
yaml
spring:
application:
name: shop-api
server:
port: 8080Perfiles:
txt
application-dev.yml
application-test.yml
application-prod.ymlDependencias
Mantén dependencias con intencion clara. No anadas starters "por si acaso".
Ejemplo Maven:
xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>Buenas practicas
- Organiza por dominio cuando la aplicacion vaya a crecer.
- Mantén
ShopApplicationlimpia. - Usa perfiles para entorno, no condicionales manuales dispersos.
- No pongas secretos en
application.yml. - Define convenciones de paquetes desde el inicio.
