JuanDMeGon /
Programacion-Java-Fundamentos-Objetos
Repositorio con el código de los ejemplos y proyectos del curso "Programación en Java: Fundamentos y Objetos"
Loading repository data…
JuanCruzRobledo / repository
Proyecto de ejemplo con arquitectura hexagonal (puertos y adaptadores) usando Java y Spring Boot. Contiene separación clara por capas, mapeo DTO, servicio de dominio y adaptadores de persistencia. Diseñado para ser escalable, mantenible y fácilmente testeable.
Ver Documentación Completa • Arquitectura Detallada • Empezar
Este proyecto es una implementación profesional de la arquitectura de Puertos y Adaptadores (también conocida como arquitectura Hexagonal) en Java utilizando Spring Boot.
🎯 Enfoque principal: Proporcionar un marco modular que facilite el mantenimiento, escalabilidad y testing de aplicaciones empresariales.
La arquitectura Hexagonal busca:
🔄 Desacoplar el núcleo de negocio de la infraestructura
🔌 Aislar la lógica de negocio de tecnologías específicas
🔧 Facilitar el testing mediante interfaces
🚀 Permitir cambios de tecnología sin afectar el dominio
📚 Mantener el código limpio y legible
src/main/java/org/jcr/architectureportsandadapters/
├── 💼 domain/ # Lógica de negocio pura
│ ├── model/
│ └── service/
├── ⚙️ application/ # Casos de uso y orquestación
│ ├── service/
│ └── mapper/
├── 🔌 port/ # Interfaces (Contratos)
│ ├── in/ # Puertos de entrada
│ └── out/ # Puertos de salida
├── 🏧 infrastructure/ # Implementaciones concretas
│ └── persistence/
└── 📦 shared/ # Utilidades compartidas
├── exception/
└── response/
| Capa | Responsabilidad | Tecnologías |
|---|---|---|
| Domain | Lógica de negocio pura | Java Records, Validaciones |
| Application | Casos de uso, orquestación | Spring Services, MapStruct |
| Ports | Contratos de entrada/salida | Java Interfaces |
| Infrastructure | Persistencia, APIs externas | Spring Data JPA, H2 |
# Clonar el repositorio
git clone <repository-url>
cd ArchitecturePortsAndAdapters
# Ejecutar la aplicación
./gradlew bootRun
La aplicación estará disponible en:
| Método | Endpoint | Descripción | Ejemplo |
|---|---|---|---|
POST | /api/v1/users | Crear usuario | Ver ejemplo |
GET | /api/v1/users/{id} | Obtener usuario por ID | Ver ejemplo |
curl -X POST http://localhost:8080/api/v1/users \
-H "Content-Type: application/json" \
-d '{
"nombre": "Juan",
"apellido": "Pérez"
}'
Respuesta:
{
"success": true,
"message": "Usuario creado exitosamente",
"data": {
"id": 1,
"nombre": "Juan",
"apellido": "Pérez"
},
"timestamp": 1672531200000
}
curl http://localhost:8080/api/v1/users/1
| Tecnología | Versión | Propósito |
|---|---|---|
| Java | 17 | Lenguaje de programación |
| Spring Boot | 3.5.3 | Framework principal |
| Spring Data JPA | 3.5.3 | Persistencia de datos |
| H2 Database | 2.2.224 | Base de datos en memoria |
| MapStruct | 1.6.3 | Mapeo de objetos |
| Lombok | 1.18.30 | Reducción de boilerplate |
| Gradle | 8.0 | Herramienta de construcción |
| Documento | Descripción | Enlace |
|---|---|---|
| Arquitectura Detallada | Conexiones entre capas, diagramas y flujos | 🔗 ARQUITECTURA_CONEXIONES.md |
| Código Comentado | Explicaciones en el código fuente | 💻 Archivos .java |
| Configuración | Propiedades y configuración | 📄 application.properties |
¡Las contribuciones son bienvenidas! Para contribuir:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)📚 Más información: ARQUITECTURA_CONEXIONES.md
🚀 Creado con ❤️ por el Juan Cruz Robledo
Selected from shared topics, language and repository description—not editorial ratings.
JuanDMeGon /
Repositorio con el código de los ejemplos y proyectos del curso "Programación en Java: Fundamentos y Objetos"
joseluisgs /
Este proyecto es un ejemplo de como crear un servicio local y remoto utilizando Java
TransbankDevelopers /
Proyecto de Ejemplo para Transbank SDK Java usando servicios REST
dfmarulanda /
Curso de Programación Orientada a Objetos en Java. Cubre fundamentos de OOP: encapsulamiento, herencia, polimorfismo e interfaces. Incluye ejemplos de código, ejercicios y proyectos prácticos. Ideal para estudiantes de nivel intermedio que buscan dominar conceptos de OOP y mejorar sus habilidades de programación en Java.
guillegr123 /
Proyecto elaborado en NetBeans 8.0.x, que consiste en un ejemplo básico de aplicación web, el cual implementa la funcionalidad CRUD para una tabla (libros), a través de servlets y JSPs, utilizando el patrón MVC. Para el acceso a la base de datos se utiliza Hibernate 4.3. Para el diseño de la vista se incluye el framework Bootstrap 3.3.2.
codeandcoke /
Repositorio con proyectos de ejemplo de JavaFX