Cómo conectar Spring Boot con PostgreSQL paso a paso

Cómo conectar Spring Boot con PostgreSQL paso a paso
1. Pre-requisitos y dependencias
Antes de comenzar asegúrate de tener instalado Java 17+, Maven o Gradle, y PostgreSQL en tu máquina (o una instancia remota). En el proyecto de Spring Boot, agrega la dependencia del driver de PostgreSQL y Spring Data JPA.
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
2. Configuración en application.properties
Evita dejar credenciales en el repositorio: usa variables de entorno en producción. Para desarrollo local, prueba con estas propiedades (ajusta usuario y contraseña):
spring.datasource.url=jdbc:postgresql://localhost:5432/mi_base
spring.datasource.username=postgres
spring.datasource.password=admin123
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
3. Crea la entidad Usuario
Dentro del paquetemodel crea una entidad simple para probar la conexión:
package com.pulsosoft.demo.model;
import jakarta.persistence.*;
@Entity
@Table(name = "usuarios")
public class Usuario {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nombre;
private String correo;
// Constructores, getters y setters
}
4. Repositorio y servicio básico
Crea el repositorio usando Spring Data JPA y un servicio simple para encapsular la lógica de acceso a datos.
@Repository
public interface UsuarioRepository extends JpaRepository<Usuario, Long> { }
@Service
public class UsuarioService {
private final UsuarioRepository repo;
public UsuarioService(UsuarioRepository repo) { this.repo = repo; }
public List<Usuario> findAll() { return repo.findAll(); }
}
5. Controlador para probar la conexión
Agrega un endpoint REST sencillo para verificar que todo está funcionando:
@RestController
@RequestMapping("/api/usuarios")
public class UsuarioController {
private final UsuarioService service;
public UsuarioController(UsuarioService service) { this.service = service; }
@GetMapping
public List<Usuario> list() { return service.findAll(); }
}
6. Cómo probarlo
Ejecuta la aplicación y prueba el endpoint con el navegador o con curl:
curl http://localhost:8080/api/usuarios
Si recibes una lista (vacía o con datos), la conexión y mapeo están correctos.7. Buenas prácticas y errores comunes
- No subas contraseñas al repositorio; usa variables de entorno o Vault.
- Usa
spring.jpa.hibernate.ddl-auto=updatesolo en desarrollo; en producción migra con Flyway o Liquibase. - Controla la cantidad de conexiones con un pool (por ejemplo HikariCP) y configura timeouts.
- Valida entidades (Bean Validation) para evitar datos corruptos.
Conclusión
Conectar Spring Boot con PostgreSQL es directo si sigues los pasos: agregar dependencia, configurar datasource, crear entidad/repo y probar con un endpoint. Aplica las buenas prácticas mencionadas para no tener sorpresas al pasar a producción. En Pulsosoft te acompañamos a construir proyectos backend sólidos y profesionales.
Escrito por Giovanny Benitez
Más de esta categoría

La duda del desarrollador: por qué sentirte perdido es parte del camino
La duda del desarrollador: por qué sentirte perdido es parte del camino Introducción: Hoy quiero hablarte de algo que todos vivimos: la sensación de estar perdido como desarrollador. No importa si programas en Python, Java o estás iniciando; la incertidumbre es parte...

La duda del desarrollador: por qué sentirte perdido es parte del camino
La duda del desarrollador: por qué sentirte perdido es parte del camino Introducción: Hoy quiero hablarte de algo que todos vivimos: la sensación de estar perdido como desarrollador. No importa si programas en Python, Java o estás iniciando; la incertidumbre es parte...

La duda del desarrollador: por qué sentirte perdido es parte del camino
La duda del desarrollador: por qué sentirte perdido es parte del camino Introducción: Hoy quiero hablarte de algo que todos vivimos: la sensación de estar perdido como desarrollador. No importa si programas en Python, Java o estás iniciando; la incertidumbre es parte...

0 comentarios