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

Cómo estructurar tu experiencia para que te tomen en serio como desarrollador
Cómo estructurar tu experiencia para que te tomen en serio como desarrollador Muchos desarrolladores saben programar, pero pocos saben mostrar su experiencia de forma creíble. El problema no es la falta de conocimientos, sino la forma en que se comunican. En este...

Cómo estructurar tu experiencia para que te tomen en serio como desarrollador
Cómo estructurar tu experiencia para que te tomen en serio como desarrollador Muchos desarrolladores saben programar, pero pocos saben mostrar su experiencia de forma creíble. El problema no es la falta de conocimientos, sino la forma en que se comunican. En este...

Cómo estructurar tu experiencia para que te tomen en serio como desarrollador
Cómo estructurar tu experiencia para que te tomen en serio como desarrollador Muchos desarrolladores saben programar, pero pocos saben mostrar su experiencia de forma creíble. El problema no es la falta de conocimientos, sino la forma en que se comunican. En este...

0 comentarios