├── .gitignore
├── 001. Introducción a Spring Framework
└── spring-intro
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ ├── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ │ └── BeansConfig.java
│ │ │ ├── controller
│ │ │ │ └── EmployeeController.java
│ │ │ ├── primary
│ │ │ │ ├── CustomerAServiceImpl.java
│ │ │ │ ├── CustomerBServiceImpl.java
│ │ │ │ └── CustomerService.java
│ │ │ └── service
│ │ │ │ ├── EmployeeService.java
│ │ │ │ └── EmployeeServiceImpl.java
│ │ │ └── example2
│ │ │ └── HelloService.java
│ └── resources
│ │ ├── application.properties
│ │ └── beans.xml
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 002. Tu primera aplicación web con Spring Boot
└── spring-web-mvc
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── ProductController.java
│ │ │ ├── entity
│ │ │ └── Product.java
│ │ │ └── repository
│ │ │ └── ProductRepository.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ ├── product-form.html
│ │ ├── product-list.html
│ │ └── product-view.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 003. Introducción a Spring Data JPA
└── spring-data-jpa
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── model
│ │ │ ├── Customer.java
│ │ │ └── Employee.java
│ │ │ └── repository
│ │ │ ├── CustomerRepository.java
│ │ │ └── EmployeeRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 004. Tu primera API Rest con Spring Boot
└── spring-rest
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── ManufacturerController.java
│ │ │ ├── model
│ │ │ └── Manufacturer.java
│ │ │ ├── repository
│ │ │ └── ManufacturerRepository.java
│ │ │ └── service
│ │ │ ├── ManufacturerService.java
│ │ │ └── ManufacturerServiceImpl.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 005. Introducción a Spring Security
└── spring-security
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── HelloController.java
│ │ │ └── SecurityConfig.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 006. Implementa la gestión de errores en tu aplicación web con Spring Boot
└── spring-web-gestion-errores
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── Product.java
│ │ │ ├── ProductController.java
│ │ │ ├── ProductErrorAdvice.java
│ │ │ ├── ProductService.java
│ │ │ ├── ProductServiceImpl.java
│ │ │ └── ProductTitleException.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ ├── product-error.html
│ │ ├── product-form.html
│ │ └── product-info.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 007. Validación de datos en tu aplicación web con Spring Boot
└── spring-rest-validation
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── ProductController.java
│ │ │ ├── error
│ │ │ ├── ErrorResponse.java
│ │ │ ├── GlobalExceptionHandler.java
│ │ │ ├── ProductExceptionHandler.java
│ │ │ └── ProductTitleException.java
│ │ │ ├── model
│ │ │ ├── Manufacturer.java
│ │ │ └── Product.java
│ │ │ └── service
│ │ │ ├── ProductService.java
│ │ │ └── ProductServiceImpl.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 008. Paginación de resultados en tu aplicación web con Spring Boot
└── spring-pagination-thymeleaf
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── EmployeeController.java
│ │ │ ├── model
│ │ │ └── Employee.java
│ │ │ ├── repository
│ │ │ └── EmployeeRepository.java
│ │ │ └── service
│ │ │ ├── EmployeeService.java
│ │ │ └── EmployeeServiceImpl.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ └── employee-list.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 009. Paginación de resultados en tu API REST con Spring Boot
└── spring-pagination-rest
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── Employee.java
│ │ │ ├── EmployeeController.java
│ │ │ └── EmployeeRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 010. Documenta tu API REST con Open API 3.0
└── spring-rest-openapi
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── OpenApiConfig.java
│ │ │ ├── controller
│ │ │ ├── EmployeeController.java
│ │ │ └── HelloController.java
│ │ │ └── model
│ │ │ └── Employee.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 011. Testing unitario de tu aplicación con Spring Boot, Junit y Mockito
└── spring-testing-unitario
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── BookController.java
│ │ │ ├── model
│ │ │ └── Book.java
│ │ │ ├── repository
│ │ │ └── BookRepository.java
│ │ │ └── service
│ │ │ ├── BookService.java
│ │ │ └── BookServiceImpl.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ ├── AppTests.java
│ ├── controller
│ └── BookControllerTest.java
│ └── service
│ └── BookServiceImplTest.java
├── 012. Consultas básicas con Spring Data JPA
└── spring-data-jpa-consultas
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── model
│ │ │ └── Employee.java
│ │ │ └── repository
│ │ │ └── EmployeeRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 013. Modelos de datos con asociaciones con Spring Data JPA
└── spring-data-jpa-asociaciones
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── model
│ │ │ ├── Address.java
│ │ │ ├── Company.java
│ │ │ ├── Employee.java
│ │ │ ├── EmployeeType.java
│ │ │ └── Project.java
│ │ │ └── repository
│ │ │ ├── AddressRepository.java
│ │ │ ├── CompanyRepository.java
│ │ │ ├── EmployeeRepository.java
│ │ │ └── ProjectRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 014. Crea un CRUD con Spring Boot, Spring Data JPA y Thymeleaf
└── spring-crud-thymeleaf
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── BookController.java
│ │ │ ├── model
│ │ │ └── Book.java
│ │ │ └── repository
│ │ │ └── BookRepository.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ ├── book-form.html
│ │ ├── book-list.html
│ │ └── book-view.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 015. Introducción a Spring Data Redis
└── spring-data-redis
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── domain
│ │ │ └── Employee.java
│ │ │ └── repository
│ │ │ └── EmployeeRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 016. Introducción a Spring Data MongoDB
└── spring-data-mongodb
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── model
│ │ │ └── Employee.java
│ │ │ ├── repository
│ │ │ └── EmployeeRepository.java
│ │ │ └── service
│ │ │ └── EmployeeService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 017. Consultas con Spring Data MongoDB
└── spring-data-mongodb-consultas
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── Employee.java
│ │ │ └── EmployeeRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 018. Implementa timeout en las peticiones de tu API REST
└── spring-timeout
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── Employee.java
│ │ │ ├── EmployeeController.java
│ │ │ ├── EmployeeRepository.java
│ │ │ ├── EmployeeService.java
│ │ │ └── SpringTimeoutApplication.java
│ └── resources
│ │ ├── application.properties.old
│ │ └── application.yml
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringTimeoutApplicationTests.java
├── 019. Introducción a Spring WebFlux
└── spring-webflux
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ ├── BookAnnotationController.java
│ │ │ └── BookFunctionalController.java
│ │ │ ├── model
│ │ │ └── Book.java
│ │ │ ├── repository
│ │ │ └── BookRepository.java
│ │ │ └── service
│ │ │ └── BookService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 020. Introducción a Spring WebFlux con Kotlin
└── spring-webflux-kotlin
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── kotlin
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringWebfluxKotlinApplication.kt
│ │ │ ├── controller
│ │ │ └── BookFunctionalController.kt
│ │ │ ├── domain
│ │ │ └── Book.kt
│ │ │ ├── repository
│ │ │ └── BookRepository.kt
│ │ │ └── service
│ │ │ ├── BookHandler.kt
│ │ │ ├── BookService.kt
│ │ │ └── BookServiceImpl.kt
│ └── resources
│ │ └── application.properties
│ └── test
│ └── kotlin
│ └── com
│ └── example
│ └── SpringWebfluxKotlinApplicationTests.kt
├── 021. Crea una aplicación web reactiva con Spring WebFlux y Thymeleaf
└── spring-webflux-thymeleaf
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringWebfluxThymeleafApplication.java
│ │ │ ├── example1
│ │ │ ├── controller
│ │ │ │ └── EmployeeController.java
│ │ │ ├── model
│ │ │ │ └── Employee.java
│ │ │ └── service
│ │ │ │ └── EmployeeService.java
│ │ │ ├── example2
│ │ │ ├── controller
│ │ │ │ └── BookController.java
│ │ │ ├── model
│ │ │ │ └── Book.java
│ │ │ └── remote
│ │ │ │ └── BookRemoteService.java
│ │ │ └── example3
│ │ │ ├── controller
│ │ │ └── BookReactiveController.java
│ │ │ ├── model
│ │ │ └── Book.java
│ │ │ └── remote
│ │ │ └── BookRemoteReactiveService.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ ├── book-list.html
│ │ └── employee-list.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringWebfluxThymeleafApplicationTests.java
├── 022. Spring vs. Spring Boot vs. Spring MVC
└── spring-vs-springboot-vs-springmvc
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── example
│ │ ├── Employee.java
│ │ ├── EmployeeController.java
│ │ ├── EmployeeService.java
│ │ ├── EmployeeServiceImpl.java
│ │ └── Main.java
│ └── resources
│ └── beans.xml
├── 023. Introducción a la programación dirigida por eventos con Spring
└── spring-events
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringEventsApplication.java
│ │ │ ├── controller
│ │ │ └── EmployeeController.java
│ │ │ ├── event
│ │ │ ├── EmployeeEvent.java
│ │ │ ├── EmployeeEventListener.java
│ │ │ └── EmployeeEventPublisher.java
│ │ │ ├── model
│ │ │ └── Employee.java
│ │ │ ├── repository
│ │ │ └── EmployeeRepository.java
│ │ │ └── service
│ │ │ ├── EmployeeService.java
│ │ │ └── EmployeeServiceImpl.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringEventsApplicationTests.java
├── 024. Desarrolla una aplicación con Spring Boot y Angular
└── spring-angular
│ ├── README.md
│ ├── backend
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── BackendApplication.java
│ │ │ │ ├── Book.java
│ │ │ │ └── BookController.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── BackendApplicationTests.java
│ └── frontend
│ ├── .browserslistrc
│ ├── .editorconfig
│ ├── .gitignore
│ ├── README.md
│ ├── angular.json
│ ├── frontend.iml
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ ├── app
│ │ ├── app-routing.module.ts
│ │ ├── app.component.css
│ │ ├── app.component.html
│ │ ├── app.component.spec.ts
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ ├── book-list
│ │ │ ├── book-list.component.css
│ │ │ ├── book-list.component.html
│ │ │ ├── book-list.component.spec.ts
│ │ │ └── book-list.component.ts
│ │ ├── models
│ │ │ └── book.ts
│ │ └── services
│ │ │ ├── book.service.spec.ts
│ │ │ └── book.service.ts
│ ├── assets
│ │ └── .gitkeep
│ ├── environments
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── favicon.ico
│ ├── index.html
│ ├── main.ts
│ ├── polyfills.ts
│ ├── styles.css
│ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
├── 025. Desarrolla una aplicación con Spring Boot y React
└── spring-react
│ ├── README.md
│ ├── backend
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── BackendApplication.java
│ │ │ │ ├── Employee.java
│ │ │ │ └── EmployeeController.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── BackendApplicationTests.java
│ └── frontend
│ ├── .gitignore
│ ├── README.md
│ ├── frontend.iml
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ └── robots.txt
│ └── src
│ ├── App.css
│ ├── App.js
│ ├── App.test.js
│ ├── components
│ └── EmployeeList.js
│ ├── index.css
│ ├── index.js
│ ├── logo.svg
│ ├── reportWebVitals.js
│ └── setupTests.js
├── 026. Desarrolla una aplicación con Spring Boot y Vue.js
└── spring-vue
│ ├── README.md
│ ├── backend
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── BackendApplication.java
│ │ │ │ ├── Employee.java
│ │ │ │ └── EmployeeController.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── BackendApplicationTests.java
│ └── frontend
│ ├── .gitignore
│ ├── README.md
│ ├── babel.config.js
│ ├── frontend.iml
│ ├── jsconfig.json
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ ├── favicon.ico
│ └── index.html
│ ├── src
│ ├── App.vue
│ ├── assets
│ │ └── logo.png
│ ├── components
│ │ ├── EmployeeDetail.vue
│ │ ├── EmployeeList.vue
│ │ └── HelloWorld.vue
│ ├── main.js
│ ├── router.js
│ └── services
│ │ └── EmployeeService.js
│ └── vue.config.js
├── 027. Seguridad JWT en tu API Rest con Spring Boot
└── spring-jwt
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringJwtApplication.java
│ │ │ ├── controller
│ │ │ ├── AuthController.java
│ │ │ └── HelloController.java
│ │ │ ├── dto
│ │ │ ├── LoginRequest.java
│ │ │ ├── LoginResponse.java
│ │ │ └── UserRegisterDTO.java
│ │ │ ├── model
│ │ │ ├── UserAuthority.java
│ │ │ └── UserEntity.java
│ │ │ ├── repository
│ │ │ └── UserEntityRepository.java
│ │ │ ├── security
│ │ │ ├── JwtFilter.java
│ │ │ ├── JwtTokenProvider.java
│ │ │ ├── PasswordEncoderConfig.java
│ │ │ ├── SecurityConfig.java
│ │ │ └── UserDetailsServiceImpl.java
│ │ │ └── service
│ │ │ └── UserEntityService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringJwtApplicationTests.java
├── 028. Mejora la internacionalización de tu aplicación web con Spring Boot
└── spring-i18n
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringI18nApplication.java
│ │ │ ├── config
│ │ │ ├── LangMessageSource.java
│ │ │ └── WebLangConfig.java
│ │ │ ├── controller
│ │ │ └── IndexController.java
│ │ │ ├── model
│ │ │ └── Language.java
│ │ │ └── repository
│ │ │ └── LanguageRepository.java
│ └── resources
│ │ ├── application.properties
│ │ ├── data.sql
│ │ └── templates
│ │ └── index.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringI18nApplicationTests.java
├── 029. Testea tu API REST con Spring Boot
└── spring-rest-testing
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringRestTestingApplication.java
│ │ │ └── customer
│ │ │ ├── BadRequestException.java
│ │ │ ├── Customer.java
│ │ │ ├── CustomerController.java
│ │ │ └── CustomerRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ ├── CustomerControllerTest.java
│ ├── CutomerControllerITest.java
│ └── SpringRestTestingApplicationTests.java
├── 030. Testea la persistencia de tu aplicación con Spring Boot
└── spring-data-jpa-testing
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── Order.java
│ │ │ └── OrderRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ ├── java
│ └── com
│ │ └── example
│ │ └── OrderRepositoryTest.java
│ └── resources
│ ├── application.properties
│ └── com
│ └── example
│ ├── customers.sql
│ └── orders.sql
├── 031. Test Driven Development con Spring Boot
└── spring-tdd
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── Product.java
│ │ │ ├── ProductController.java
│ │ │ ├── ProductRepository.java
│ │ │ ├── ProductService.java
│ │ │ └── SpringTddApplication.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ ├── ProductControllerTest.java
│ └── ProductServiceTest.java
├── 032. Documenta tu API REST con Spring Rest Docs
└── spring-rest-docs
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── docs
│ └── asciidoc
│ │ └── index.adoc
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ └── customer
│ │ │ ├── BadRequestException.java
│ │ │ ├── Customer.java
│ │ │ ├── CustomerController.java
│ │ │ └── CustomerRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── CustomerControllerTest.java
├── 033. Cómo solucionar los problemas de fetching con Spring Data JPA
└── spring-data-jpa-fetching
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── model
│ │ │ ├── Address.java
│ │ │ ├── Author.java
│ │ │ └── Book.java
│ │ │ ├── projection
│ │ │ ├── BookTitle.java
│ │ │ └── BookView.java
│ │ │ └── repository
│ │ │ ├── AddressRepository.java
│ │ │ ├── AuthorRepository.java
│ │ │ └── BookRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 034. Mejora tus modelos de datos de Spring Data JPA usando grafos de entidad
└── spring-data-jpa-entitygraph
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── dao
│ │ │ ├── BookDAO.java
│ │ │ └── BookDAOImpl.java
│ │ │ ├── model
│ │ │ ├── Book.java
│ │ │ ├── Category.java
│ │ │ ├── Rating.java
│ │ │ └── User.java
│ │ │ └── repository
│ │ │ ├── BookRepository.java
│ │ │ ├── CategoryRepository.java
│ │ │ ├── RatingRepository.java
│ │ │ └── UserRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 035. Consultas con Criteria Query con Spring Data JPA
└── spring-data-jpa-criteria
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── Category.java
│ │ │ ├── CategoryRepository.java
│ │ │ ├── Product.java
│ │ │ ├── ProductDAO.java
│ │ │ └── ProductRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 036. Consultas dinámicas con Spring Data JPA
└── spring-data-jpa-spec-qbe
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── Product.java
│ │ │ ├── ProductDAO.java
│ │ │ └── ProductRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 037. Diferentes tipos de repositorios en Spring Data JPA
└── spring-data-jpa-repositories
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── model
│ │ │ ├── Customer.java
│ │ │ ├── Employee.java
│ │ │ └── Product.java
│ │ │ └── repository
│ │ │ ├── CustomerRepository.java
│ │ │ ├── EmployeeRepository.java
│ │ │ └── ProductRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 038. Customiza tus repositorios con Spring Data JPA
└── spring-data-jpa-custom-repositories
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── example1
│ │ │ ├── Customer.java
│ │ │ ├── Offer.java
│ │ │ ├── Product.java
│ │ │ ├── ProductDAO.java
│ │ │ ├── ProductDAOImpl.java
│ │ │ ├── ProductRepository.java
│ │ │ └── ProductStats.java
│ │ │ └── example2
│ │ │ ├── BaseUser.java
│ │ │ ├── BaseUserRepository.java
│ │ │ ├── Employee.java
│ │ │ ├── EmployeeRepository.java
│ │ │ ├── Person.java
│ │ │ └── PersonRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 039. Auditoría de datos con Spring Data JPA
└── spring-data-jpa-auditing
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ ├── AuditConfig.java
│ │ │ └── SecurityConfig.java
│ │ │ ├── controller
│ │ │ ├── LoginController.java
│ │ │ └── ProductController.java
│ │ │ ├── model
│ │ │ ├── Login.java
│ │ │ └── Product.java
│ │ │ └── repository
│ │ │ └── ProductRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 040. Cómo invocar procedimientos almacenados con Spring Data JPA
└── spring-data-jpa-procedure
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── Employee.java
│ │ │ ├── EmployeeRepository.java
│ │ │ └── EmployeeService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 041. Manejo de transacciones con Spring Data JPA
└── spring-data-jpa-transactions
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── lock
│ │ │ ├── optimistic
│ │ │ │ ├── Customer.java
│ │ │ │ ├── CustomerClient.java
│ │ │ │ ├── CustomerRepository.java
│ │ │ │ └── CustomerService.java
│ │ │ └── pessimistic
│ │ │ │ ├── Vehicle.java
│ │ │ │ ├── VehicleClient.java
│ │ │ │ ├── VehicleRepository.java
│ │ │ │ └── VehicleService.java
│ │ │ └── propagation
│ │ │ ├── model
│ │ │ ├── Employee.java
│ │ │ └── EmployeeAddress.java
│ │ │ ├── repository
│ │ │ ├── EmployeeAddressRepository.java
│ │ │ └── EmployeeRepository.java
│ │ │ └── service
│ │ │ ├── CompanyService.java
│ │ │ ├── EmployeeAddressService.java
│ │ │ └── EmployeeService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ ├── LockTest.java
│ ├── PropagationTest.java
│ └── TransactionalTest.java
├── 042. Mejora el borrado de entidades con Spring Data JPA
└── spring-data-jpa-deletion
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── cascadeorphan
│ │ │ ├── Author.java
│ │ │ ├── AuthorRepository.java
│ │ │ ├── Book.java
│ │ │ └── BookRepository.java
│ │ │ └── sqldelete
│ │ │ ├── Employee.java
│ │ │ └── EmployeeRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 043. Configuración programática del origen de datos con Spring Data JPA
└── spring-data-jpa-datasource
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── db
│ ├── database.mv.db
│ └── database.trace.db
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── PersistenceConfig.java
│ │ │ ├── model
│ │ │ └── Employee.java
│ │ │ └── repository
│ │ │ └── EmployeeRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 044. Implementa un mecanismo de caché con Spring Boot y Redis
└── spring-redis-cache
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── CustomerController.java
│ │ │ ├── model
│ │ │ └── Customer.java
│ │ │ ├── repository
│ │ │ └── CustomerRepository.java
│ │ │ └── service
│ │ │ └── CustomerService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 045. Cómo generar tu esquema de base de datos con Spring Data JPA
└── spring-data-jpa-schemagen
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ └── Employee.java
│ └── resources
│ │ ├── application.properties
│ │ ├── db
│ │ ├── data-mysql.sql
│ │ └── schema-mysql.sql
│ │ └── import_employees.sql
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 046. Aprovecha el plugin JPA Buddy de Intellij IDEA en tus proyectos Spring Data JPA
└── spring-data-jpa-jpabuddy
│ ├── .gitignore
│ ├── .jpb
│ ├── jpb-settings.xml
│ └── persistence-units.xml
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── Author.java
│ │ │ ├── Customer.java
│ │ │ ├── CustomerDto.java
│ │ │ ├── CustomerRepository.java
│ │ │ ├── Employee.java
│ │ │ └── Type.java
│ └── resources
│ │ ├── 06-01-changelog.xml
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 047. Cómo mantener tu esquema de base de datos con Spring Data JPA y Flyway
└── spring-data-jpa-flyway
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ └── FlywayCallback.java
│ └── resources
│ │ ├── application.properties
│ │ └── db
│ │ ├── callbacks
│ │ └── afterMigrate.sql
│ │ └── migration
│ │ ├── V1_0_1__init.sql
│ │ └── V1_1_0__employees_data.sql
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 048. Cómo mantener tu esquema de base de datos con Spring Data JPA y Liquibase
└── spring-data-jpa-liquibase
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── liquibase.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ └── App.java
│ └── resources
│ │ ├── application.properties
│ │ └── liquibase
│ │ ├── changelog
│ │ └── employee.xml
│ │ ├── data
│ │ └── employees.csv
│ │ └── master.xml
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 049. Consultas QueryDSL con Spring Data MongoDB
└── spring-data-mongo-querydsl
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── dao
│ │ │ └── BookDAO.java
│ │ │ ├── model
│ │ │ └── Book.java
│ │ │ └── repository
│ │ │ └── BookRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 050. Proyecciones y Agregaciones con Spring Data MongoDB
└── spring-data-mongodb-proj-agg
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── dao
│ │ │ └── ProductDAO.java
│ │ │ ├── dto
│ │ │ ├── PriceByCategory.java
│ │ │ └── PriceByManufacturer.java
│ │ │ ├── model
│ │ │ └── Product.java
│ │ │ └── repository
│ │ │ └── ProductRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 051. Implementa un rate-limit en tu API REST con Spring Boot
└── spring-rest-apirate-limit
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ ├── AuthController.java
│ │ │ ├── HelloController.java
│ │ │ └── ProductController.java
│ │ │ ├── dto
│ │ │ ├── LoginRequest.java
│ │ │ ├── LoginResponse.java
│ │ │ └── UserRegister.java
│ │ │ ├── model
│ │ │ ├── Product.java
│ │ │ ├── Subscription.java
│ │ │ ├── UserAuthority.java
│ │ │ └── UserEntity.java
│ │ │ ├── ratelimit
│ │ │ ├── RateLimitConfig.java
│ │ │ └── RateLimitInterceptor.java
│ │ │ ├── repository
│ │ │ ├── ProductRepository.java
│ │ │ ├── SubscriptionRepository.java
│ │ │ └── UserEntityRepository.java
│ │ │ ├── security
│ │ │ ├── JwtFilter.java
│ │ │ ├── JwtTokenExtractor.java
│ │ │ ├── JwtTokenProvider.java
│ │ │ ├── PasswordEncoderConfig.java
│ │ │ ├── SecurityConfig.java
│ │ │ └── UserDetailsServiceImpl.java
│ │ │ └── service
│ │ │ ├── SubscriptionService.java
│ │ │ └── UserEntityService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 052. Mejora tu API REST con Spring Boot aprovechando la librería Jackson
└── spring-jackson
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── JacksonConfig.java
│ │ │ ├── controller
│ │ │ ├── CustomerController.java
│ │ │ └── VehicleController.java
│ │ │ ├── model
│ │ │ ├── Customer.java
│ │ │ └── Vehicle.java
│ │ │ └── repository
│ │ │ ├── CustomerRepository.java
│ │ │ └── VehicleRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 053. Utiliza JSON Views para mejorar las respuestas de tu API REST con Spring Boot
└── spring-jackson-jsonview
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── CustomerController.java
│ │ │ └── model
│ │ │ ├── Customer.java
│ │ │ └── CustomerView.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 054. Spring Security Reactive
└── spring-security-reactive
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ ├── controller
│ │ │ └── HelloController.java
│ │ │ ├── dto
│ │ │ └── Login.java
│ │ │ └── service
│ │ │ └── UserDetailsServiceImpl.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 055. Implementa repositorios reactivos con Spring Data R2DBC
└── spring-data-r2dbc
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── model
│ │ │ └── Vehicle.java
│ │ │ ├── repository
│ │ │ └── VehicleRepository.java
│ │ │ └── service
│ │ │ ├── VehicleService.java
│ │ │ └── VehicleServiceImpl.java
│ └── resources
│ │ ├── application.properties
│ │ ├── data.sql
│ │ └── schema.sql
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 056. Implementa repositorios reactivos con Spring Data MongoDB Reactive
└── spring-data-mongodb-reactive
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── model
│ │ │ └── Vehicle.java
│ │ │ ├── repository
│ │ │ └── VehicleRepository.java
│ │ │ └── service
│ │ │ ├── VehicleService.java
│ │ │ └── VehicleServiceImpl.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 057. Implementa rápidamente una API REST con Spring Data REST
└── spring-data-rest
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── handler
│ │ │ ├── CustomerEventHandler.java
│ │ │ ├── ErrorHandler.java
│ │ │ └── ErrorMessage.java
│ │ │ ├── model
│ │ │ ├── Address.java
│ │ │ └── Customer.java
│ │ │ ├── repository
│ │ │ ├── AddressRepository.java
│ │ │ └── CustomerRepository.java
│ │ │ └── validation
│ │ │ ├── CustomerValidator.java
│ │ │ └── ValidationConfig.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 058. Cómo enviar un email basado en una plantilla de Thymeleaf con Spring Boot
└── spring-thymeleaf-email
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ └── MailService.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ └── mail
│ │ ├── bye.html
│ │ └── hello.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 059. Websockets con Spring Boot
└── spring-websockets
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── WebSocketConfig.java
│ │ │ └── endpoint
│ │ │ ├── MessageEndpoint.java
│ │ │ ├── ScheduledEndpoint.java
│ │ │ └── SubscribeEndpoint.java
│ └── resources
│ │ ├── application.properties
│ │ └── static
│ │ ├── app.js
│ │ ├── index.html
│ │ └── main.css
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 060. Implementa la subida de ficheros a una API REST con Spring Boot y MongoDB
└── spring-mongodb-upload-file
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── CustomerController.java
│ │ │ ├── model
│ │ │ └── Customer.java
│ │ │ ├── repository
│ │ │ └── CustomerRepository.java
│ │ │ └── service
│ │ │ └── CustomerService.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ ├── customer.html
│ │ └── index.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 061. Implementa OAuth 2.0 con Spring Security
└── spring-security-oauth-github
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ └── controller
│ │ │ └── HelloController.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ ├── index.html
│ │ ├── page1.html
│ │ └── page2.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 062. Implementa la autenticación en dos pasos con Spring Boot
└── spring-security-2fa
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringSecurity2faApplication.java
│ │ │ ├── config
│ │ │ ├── MvcConfig.java
│ │ │ ├── PasswordConfig.java
│ │ │ ├── SecondFactorAuthSuccessHandler.java
│ │ │ └── SecurityConfig.java
│ │ │ ├── controller
│ │ │ ├── CodeController.java
│ │ │ └── VerificationCodeException.java
│ │ │ ├── model
│ │ │ ├── Account.java
│ │ │ └── UserDetailsAdapter.java
│ │ │ ├── repository
│ │ │ ├── AccountRepository.java
│ │ │ └── InMemoryAccountRepository.java
│ │ │ ├── service
│ │ │ └── UserDetailsServiceAdapter.java
│ │ │ └── utils
│ │ │ └── SecurityUtils.java
│ └── resources
│ │ ├── application.properties
│ │ └── templates
│ │ ├── code.html
│ │ ├── home.html
│ │ └── login.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringSecurity2faApplicationTests.java
├── 063. Mejora la seguridad de tu aplicación Spring Boot
└── spring-security-authprovider
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ ├── AuthenticationProviderImpl.java
│ │ │ ├── PasswordConfig.java
│ │ │ └── SecurityConfig.java
│ │ │ ├── controller
│ │ │ └── UserController.java
│ │ │ ├── dto
│ │ │ └── RegisterDTO.java
│ │ │ ├── model
│ │ │ ├── UserAuthority.java
│ │ │ └── UserEntity.java
│ │ │ ├── repository
│ │ │ └── UserEntityRepository.java
│ │ │ └── service
│ │ │ └── UserDetailsServiceImpl.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 064. Implementa un mecanismo de Remember me en tu aplicación web con Spring Boot
└── spring-security-remember-me
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ ├── controller
│ │ │ └── UserController.java
│ │ │ ├── model
│ │ │ ├── UserAuthority.java
│ │ │ └── UserEntity.java
│ │ │ ├── repository
│ │ │ └── UserEntityRepository.java
│ │ │ └── service
│ │ │ └── UserDetailsServiceImpl.java
│ └── resources
│ │ ├── application.properties
│ │ ├── schema.sql
│ │ └── templates
│ │ ├── index.html
│ │ ├── login.html
│ │ ├── register-success.html
│ │ ├── signup-form.html
│ │ └── users.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 065. Seguridad a nivel de método en tu aplicación con Spring Boot
└── spring-security-method
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ ├── model
│ │ │ ├── Employee.java
│ │ │ ├── Task.java
│ │ │ └── Vehicle.java
│ │ │ └── service
│ │ │ ├── EmployeeService.java
│ │ │ ├── TaskService.java
│ │ │ └── VehicleService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ ├── EmployeeServiceTests.java
│ ├── TaskServiceTests.java
│ └── VehicleServiceTest.java
├── 066. Utiliza Spring Security en los test de tu aplicación con Spring Boot
└── spring-security-test
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ └── controller
│ │ │ └── HelloController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ ├── AppTests.java
│ └── config
│ └── TestConfig.java
├── 067. Implementa un mecanismo de registro protegido por captcha
└── spring-captcha
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── captcha
│ │ │ ├── CaptchaAspect.java
│ │ │ ├── CaptchaValidator.java
│ │ │ └── RequiresCaptcha.java
│ │ │ ├── controller
│ │ │ └── HelloController.java
│ │ │ └── dto
│ │ │ ├── CaptchaResponse.java
│ │ │ ├── HelloDTO.java
│ │ │ └── HelloResponseDTO.java
│ └── resources
│ │ ├── application.properties
│ │ └── static
│ │ └── index.html
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 068. Implementa SSO con Spring Boot y Google
└── spring-security-oauth-google
│ ├── README.md
│ ├── app1
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── App1Application.java
│ │ │ │ ├── config
│ │ │ │ └── SecurityConfig.java
│ │ │ │ └── controller
│ │ │ │ └── HelloController.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ ├── App1ApplicationTests.java
│ │ ├── config
│ │ └── SecurityConfig.java
│ │ └── controller
│ │ └── HelloController.java
│ └── app2
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App2Application.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ └── controller
│ │ │ └── HelloController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── App2ApplicationTests.java
├── 069. Implementa SSO con Spring Boot y GitHub
└── spring-security-oauth-sso-github
│ ├── README.md
│ ├── app1
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── App1Application.java
│ │ │ │ ├── config
│ │ │ │ └── SecurityConfig.java
│ │ │ │ └── controller
│ │ │ │ └── HelloController.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── App1ApplicationTests.java
│ └── app2
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App2Application.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ └── controller
│ │ │ └── HelloController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── App2ApplicationTests.java
├── 070. Despliega tu aplicación Spring Boot con Docker
└── spring-docker
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── Dockerfile
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── CustomerController.java
│ │ │ └── model
│ │ │ └── Customer.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL
└── spring-docker-compose
│ ├── README.md
│ ├── backend
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── Dockerfile
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── Book.java
│ │ │ ├── BookController.java
│ │ │ └── BookRepository.java
│ │ └── resources
│ │ └── application.properties
│ ├── docker-compose.yml
│ └── frontend
│ ├── .browserslistrc
│ ├── .editorconfig
│ ├── .gitignore
│ ├── Dockerfile
│ ├── README.md
│ ├── angular.json
│ ├── frontend.iml
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ ├── app
│ │ ├── app-routing.module.ts
│ │ ├── app.component.css
│ │ ├── app.component.html
│ │ ├── app.component.spec.ts
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ ├── components
│ │ │ └── book-list
│ │ │ │ ├── book-list.component.css
│ │ │ │ ├── book-list.component.html
│ │ │ │ ├── book-list.component.spec.ts
│ │ │ │ └── book-list.component.ts
│ │ ├── models
│ │ │ ├── book.spec.ts
│ │ │ └── book.ts
│ │ └── services
│ │ │ ├── book.service.spec.ts
│ │ │ └── book.service.ts
│ ├── assets
│ │ └── .gitkeep
│ ├── environments
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── favicon.ico
│ ├── index.html
│ ├── main.ts
│ ├── polyfills.ts
│ ├── styles.css
│ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
├── 072. Externaliza la configuración de tu aplicación con Spring Boot
└── spring-cloud-config
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ └── SpringCloudConfigApplication.java
│ └── resources
│ │ └── bootstrap.yml
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringCloudConfigApplicationTests.java
├── 073. Despliega tu aplicación Spring Boot en AWS EC2
└── spring-docker
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── Dockerfile
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── CustomerController.java
│ │ │ └── model
│ │ │ └── Customer.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 074. Introducción a los microservicios con Spring Cloud
└── spring-cloud
│ ├── README.md
│ ├── customers-service
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── CustomersServiceApplication.java
│ │ │ │ ├── config
│ │ │ │ └── RestTemplateConfig.java
│ │ │ │ ├── controller
│ │ │ │ ├── CustomerController.java
│ │ │ │ └── DirectionsController.java
│ │ │ │ ├── dto
│ │ │ │ └── DirectionDTO.java
│ │ │ │ ├── exception
│ │ │ │ └── BusinessException.java
│ │ │ │ └── service
│ │ │ │ ├── CustomerService.java
│ │ │ │ ├── DirectionService.java
│ │ │ │ └── DirectionsFeignClient.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── CustomersServiceApplicationTests.java
│ ├── directions-service
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── DirectionsController.java
│ │ │ │ ├── DirectionsServiceApplication.java
│ │ │ │ └── dto
│ │ │ │ └── DirectionDTO.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── DirectionsServiceApplicationTests.java
│ ├── spring-cloud-eureka
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── SpringCloudEurekaApplication.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── SpringCloudEurekaApplicationTests.java
│ ├── spring-cloud-gateway
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── SpringCloudGatewayApplication.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── SpringCloudGatewayApplicationTests.java
│ └── spring-config-external
│ ├── microservice1
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── App.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── Microservice1ApplicationTests.java
│ └── spring-cloud-config
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ └── App.java
│ └── resources
│ │ └── bootstrap.yml
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 075. Mejora tus microservicios con Spring Cloud usando Resilience4j
└── spring-cloud
│ ├── README.md
│ ├── customers-service
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── CustomersServiceApplication.java
│ │ │ │ ├── config
│ │ │ │ └── RestTemplateConfig.java
│ │ │ │ ├── controller
│ │ │ │ ├── CustomerController.java
│ │ │ │ └── DirectionsController.java
│ │ │ │ ├── dto
│ │ │ │ └── DirectionDTO.java
│ │ │ │ ├── exception
│ │ │ │ └── BusinessException.java
│ │ │ │ └── service
│ │ │ │ ├── CustomerService.java
│ │ │ │ ├── DirectionService.java
│ │ │ │ └── DirectionsFeignClient.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── CustomersServiceApplicationTests.java
│ ├── directions-service
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── DirectionsController.java
│ │ │ │ ├── DirectionsServiceApplication.java
│ │ │ │ └── dto
│ │ │ │ └── DirectionDTO.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── DirectionsServiceApplicationTests.java
│ ├── spring-cloud-eureka
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── SpringCloudEurekaApplication.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── SpringCloudEurekaApplicationTests.java
│ ├── spring-cloud-gateway
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── SpringCloudGatewayApplication.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── SpringCloudGatewayApplicationTests.java
│ └── spring-config-external
│ ├── microservice1
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── App.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── Microservice1ApplicationTests.java
│ └── spring-cloud-config
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ └── App.java
│ └── resources
│ │ └── bootstrap.yml
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 076. Incluye seguridad en tus microservicios con Spring Cloud Gateway
└── spring-security-microservices
│ ├── README.md
│ ├── product-service
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── ProductServiceApplication.java
│ │ │ │ ├── config
│ │ │ │ ├── RealmRoleConverter.java
│ │ │ │ └── SecurityConfig.java
│ │ │ │ └── controller
│ │ │ │ └── Controller.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── ProductServiceApplicationTests.java
│ └── spring-cloud-gateway
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringCloudGatewayApplication.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ └── controller
│ │ │ └── Controller.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringCloudGatewayApplicationTests.java
├── 077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign
└── spring-cloud
│ ├── README.md
│ ├── customers-service
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── CustomersServiceApplication.java
│ │ │ │ ├── config
│ │ │ │ └── RestTemplateConfig.java
│ │ │ │ ├── controller
│ │ │ │ ├── CustomerController.java
│ │ │ │ └── DirectionsController.java
│ │ │ │ ├── dto
│ │ │ │ └── DirectionDTO.java
│ │ │ │ ├── exception
│ │ │ │ └── BusinessException.java
│ │ │ │ └── service
│ │ │ │ ├── CustomerService.java
│ │ │ │ ├── DirectionService.java
│ │ │ │ └── DirectionsFeignClient.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── CustomersServiceApplicationTests.java
│ ├── directions-service
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── DirectionsController.java
│ │ │ │ ├── DirectionsServiceApplication.java
│ │ │ │ └── dto
│ │ │ │ └── DirectionDTO.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── DirectionsServiceApplicationTests.java
│ ├── spring-cloud-eureka
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── SpringCloudEurekaApplication.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── SpringCloudEurekaApplicationTests.java
│ ├── spring-cloud-gateway
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── SpringCloudGatewayApplication.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── SpringCloudGatewayApplicationTests.java
│ └── spring-config-external
│ ├── microservice1
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── App.java
│ │ └── resources
│ │ │ └── bootstrap.yml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── Microservice1ApplicationTests.java
│ └── spring-cloud-config
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ └── App.java
│ └── resources
│ │ └── bootstrap.yml
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 078. Utiliza Apache Kafka con tu aplicación Spring Boot
└── spring-kafka-producer
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── Controller.java
│ │ │ ├── Producer.java
│ │ │ └── SpringKafkaProducerApplication.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringKafkaProducerApplicationTests.java
├── 079. Spring Batch
└── spring-batch
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── BatchConfig.java
│ │ │ ├── model
│ │ │ └── Customer.java
│ │ │ └── processor
│ │ │ └── CustomerProcessor.java
│ └── resources
│ │ ├── application.properties
│ │ ├── customers.csv
│ │ └── schema.sql
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringBatchApplicationTests.java
├── 080. Consultas usando QueryDSL con Spring Data JPA
└── spring-data-jpa-querydsl
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── model
│ │ │ ├── Address.java
│ │ │ ├── Author.java
│ │ │ └── Book.java
│ │ │ └── repository
│ │ │ ├── AddressRepository.java
│ │ │ ├── AuthorRepository.java
│ │ │ └── BookRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 081. Crea un filtro para tu API REST con Spring Boot
└── spring-data-jpa-rest-querydsl
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── AuthorController.java
│ │ │ ├── model
│ │ │ ├── Author.java
│ │ │ └── Book.java
│ │ │ └── repository
│ │ │ ├── AuthorRepository.java
│ │ │ └── BookRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 082. Configura varios orígenes de datos diferentes para tu proyecto con Spring Data JPA
└── spring-data-jpa-datasource-multiple
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ ├── DataSource1Config.java
│ │ │ └── DataSource2Config.java
│ │ │ ├── datasource1
│ │ │ ├── model
│ │ │ │ └── Employee.java
│ │ │ └── repository
│ │ │ │ └── EmployeeRepository.java
│ │ │ └── datasource2
│ │ │ ├── model
│ │ │ └── Customer.java
│ │ │ └── repository
│ │ │ └── CustomerRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 083. Utiliza Redis como Message Broker para tus microservicios con Spring Boot
└── spring-redis-messaging
│ ├── README.md
│ ├── publisher
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── PublisherApp.java
│ │ │ │ ├── config
│ │ │ │ └── RedisConfig.java
│ │ │ │ ├── controller
│ │ │ │ └── HelloController.java
│ │ │ │ └── messaging
│ │ │ │ └── Publisher.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── PublisherAppTests.java
│ └── subscriber
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SubscriberApp.java
│ │ │ ├── config
│ │ │ └── RedisConfig.java
│ │ │ └── messaging
│ │ │ └── Subscriber.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SubscriberAppTests.java
├── 084. Cómo implementar el versionado de tu API REST con Spring Boot
└── spring-rest-versioning
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ ├── CompanyController.java
│ │ │ ├── CustomerController.java
│ │ │ ├── EmployeeController.java
│ │ │ └── VehicleController.java
│ │ │ └── model
│ │ │ ├── Company.java
│ │ │ ├── Customer.java
│ │ │ ├── Employee.java
│ │ │ └── Vehicle.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 085. Cómo filtrar la salida de tu API REST según el rol de usuario de Spring Security
└── spring-security-jsonview
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ ├── controller
│ │ │ ├── CustomerController.java
│ │ │ └── SecurityAdvice.java
│ │ │ ├── model
│ │ │ ├── Customer.java
│ │ │ ├── CustomerView.java
│ │ │ └── Role.java
│ │ │ └── repository
│ │ │ └── CustomerRepository.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 086. Implementa la seguridad de tu API REST con Spring Security y LDAP
└── spring-security-ldap
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringSecurityLdapApplication.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ └── controller
│ │ │ └── HelloController.java
│ └── resources
│ │ ├── application.properties
│ │ └── users.ldif
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringSecurityLdapApplicationTests.java
├── 087. Implementa una API Reactiva con Spring WebFlux y R2DBC
└── spring-webflux-r2dbc
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── VehicleController.java
│ │ │ ├── model
│ │ │ └── Vehicle.java
│ │ │ ├── repository
│ │ │ └── VehicleRepository.java
│ │ │ └── service
│ │ │ ├── VehicleService.java
│ │ │ └── VehicleServiceImpl.java
│ └── resources
│ │ ├── application.properties
│ │ └── schema.sql
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 088. Implementa una API Reactiva con Spring WebFlux y R2DBC con Kotlin
└── spring-webflux-r2dbc-kotlin
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── kotlin
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.kt
│ │ │ ├── config
│ │ │ └── DataLoader.kt
│ │ │ ├── controller
│ │ │ └── BookController.kt
│ │ │ ├── domain
│ │ │ └── Book.kt
│ │ │ ├── repository
│ │ │ └── BookRepository.kt
│ │ │ └── service
│ │ │ ├── BookHandler.kt
│ │ │ ├── BookService.kt
│ │ │ └── BookServiceImpl.kt
│ └── resources
│ │ └── application.properties
│ └── test
│ └── kotlin
│ └── com
│ └── example
│ └── AppTests.kt
├── 089. Implementa una API Reactiva con Spring WebFlux y MongoDB
└── spring-webflux-mongo-reactive
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── controller
│ │ │ └── VehicleController.java
│ │ │ ├── model
│ │ │ └── Vehicle.java
│ │ │ ├── repository
│ │ │ └── VehicleRepository.java
│ │ │ └── service
│ │ │ ├── VehicleService.java
│ │ │ └── VehicleServiceImpl.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 090. Implementa una API Reactiva con Spring WebFlux y MongoDB con Kotlin
└── spring-webflux-mongo-reactive-kotlin
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── kotlin
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.kt
│ │ │ ├── config
│ │ │ └── DataLoader.kt
│ │ │ ├── controller
│ │ │ └── BookController.kt
│ │ │ ├── model
│ │ │ └── Book.kt
│ │ │ ├── repository
│ │ │ └── BookRepository.kt
│ │ │ └── service
│ │ │ ├── BookHandler.kt
│ │ │ ├── BookService.kt
│ │ │ └── BookServiceImpl.kt
│ └── resources
│ │ └── application.properties
│ └── test
│ └── kotlin
│ └── com
│ └── example
│ └── AppTests.kt
├── 091. Implementa una aplicación de chat en tiempo real con Spring Boot y WebSocket
└── spring-websockets-chat
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── WebSocketConfig.java
│ │ │ ├── dto
│ │ │ ├── ChatMessage.java
│ │ │ └── JoinMessage.java
│ │ │ ├── endpoint
│ │ │ └── ChatEndpoint.java
│ │ │ └── listener
│ │ │ └── ConnectListener.java
│ └── resources
│ │ ├── application.properties
│ │ └── static
│ │ ├── app.js
│ │ ├── index.html
│ │ └── main.css
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 092. Implementa una API REST segura con Spring Boot y Keycloak
└── spring-security-keycloak
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ ├── KeycloakConfig.java
│ │ │ └── SecurityConfig.java
│ │ │ └── controller
│ │ │ └── HelloController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringSecurityKeycloakApplicationTests.java
├── 093. Implementa la seguridad de tu API REST con Spring Boot, OAuth2 y Keycloak
└── spring-security-oauth-keycloak
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringSecurityOauthKeycloakApplication.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ └── controller
│ │ │ └── HelloController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringSecurityOauthKeycloakApplicationTests.java
├── 094. Implementa la seguridad de tu API REST con Spring Boot, OAuth2 y Okta
└── spring-oauth-okta
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringOauthOktaApplication.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ └── controller
│ │ │ └── HelloController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringOauthOktaApplicationTests.java
├── 095. Utiliza SpEL para manejar la seguridad a nivel de método de tu API REST con Spring Boot
└── spring-security-spel
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ ├── SecurityConfig.java
│ │ │ └── TaskPermEvaluator.java
│ │ │ ├── controller
│ │ │ └── TaskController.java
│ │ │ ├── model
│ │ │ └── Task.java
│ │ │ ├── repository
│ │ │ └── TaskRepository.java
│ │ │ └── service
│ │ │ └── TaskService.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── AppTests.java
├── 096. Autenticación X.509 con Spring Security
└── spring-mtls
│ ├── README.md
│ ├── server1
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ ├── s2_cert.cer
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── Server1Application.java
│ │ │ │ └── Server2Client.java
│ │ └── resources
│ │ │ ├── application.properties
│ │ │ ├── s1_ks.p12
│ │ │ └── s1_ts.p12
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── Server1ApplicationTests.java
│ └── server2
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ ├── s1_cert.cer
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── HelloController.java
│ │ │ └── Server2Application.java
│ └── resources
│ │ ├── application.properties
│ │ ├── s2_ks.p12
│ │ └── s2_ts.p12
│ └── test
│ └── java
│ └── com
│ └── example
│ └── Server2ApplicationTests.java
├── 097. Ejecuta tu aplicación Spring Boot con imágenes nativas de GraalVM
└── spring-native
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── Dockerfile
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ └── SpringNativeApplication.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringNativeApplicationTests.java
├── 098. Despliega tus microservicios con Spring Cloud Azure
└── spring-cloud-azure
│ ├── README.md
│ ├── app1
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ ├── App1Application.java
│ │ │ │ └── HelloController.java
│ │ └── resources
│ │ │ └── application.properties
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── example
│ │ └── App1ApplicationTests.java
│ └── app2
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App2Application.java
│ │ │ └── HelloController.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── App2ApplicationTests.java
├── 099. Despliega tus microservicios con Spring Cloud Kubernetes
└── spring-cloud-kubernetes
│ └── app1
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── Dockerfile
│ ├── README.md
│ ├── deployment-config.yaml
│ ├── deployment.yaml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App1Application.java
│ │ │ ├── ClientConfig.java
│ │ │ └── HelloController.java
│ └── resources
│ │ └── application.yml
│ └── test
│ └── java
│ └── com
│ └── example
│ └── App1ApplicationTests.java
├── 100. Spring Cloud Stream
└── spring-cloud-stream-processor
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── SpringCloudStreamProcessorApplication.java
│ │ │ ├── config
│ │ │ └── StreamConfig.java
│ │ │ └── model
│ │ │ └── WordCount.java
│ └── resources
│ │ └── application.yml
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringCloudStreamProcessorApplicationTests.java
├── 101. Spring Cloud Data Flow
└── batchsamples
│ ├── .mvn
│ └── wrapper
│ │ ├── MavenWrapperDownloader.java
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── billrun
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── MavenWrapperDownloader.java
│ │ │ └── maven-wrapper.properties
│ ├── billrun.iml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── io
│ │ │ │ └── spring
│ │ │ │ └── billrun
│ │ │ │ ├── BillrunApplication.java
│ │ │ │ ├── configuration
│ │ │ │ ├── BillProcessor.java
│ │ │ │ └── BillingConfiguration.java
│ │ │ │ └── model
│ │ │ │ ├── Bill.java
│ │ │ │ └── Usage.java
│ │ └── resources
│ │ │ ├── application.properties
│ │ │ ├── schema.sql
│ │ │ └── usageinfo.json
│ │ └── test
│ │ └── java
│ │ └── io
│ │ └── spring
│ │ └── billrun
│ │ └── BillRunApplicationTests.java
│ ├── billsetuptask
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── MavenWrapperDownloader.java
│ │ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── billsetuptask.iml
│ ├── docker-compose.yml
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── io
│ │ │ └── spring
│ │ │ └── billsetuptask
│ │ │ ├── BillsetuptaskApplication.java
│ │ │ └── configuration
│ │ │ └── TaskConfiguration.java
│ │ └── resources
│ │ └── application.properties
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── spring-cloud-task-edu-samples.iml
├── 102. Spring Cloud Function
└── spring-cloud-function
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── Functions.java
│ │ │ ├── HelloDTO.java
│ │ │ └── SpringCloudFunctionApplication.java
│ └── resources
│ │ └── application.properties
│ └── test
│ └── java
│ └── com
│ └── example
│ └── SpringCloudFunctionApplicationTests.java
├── 103. Ecommerce
├── ecommerce
│ ├── .gitignore
│ ├── .mvn
│ │ └── wrapper
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── example
│ │ │ │ │ ├── App.java
│ │ │ │ │ ├── config
│ │ │ │ │ └── SecurityConfig.java
│ │ │ │ │ ├── controller
│ │ │ │ │ ├── FileController.java
│ │ │ │ │ ├── IndexController.java
│ │ │ │ │ ├── OrderController.java
│ │ │ │ │ ├── ProductController.java
│ │ │ │ │ └── ShopCartController.java
│ │ │ │ │ ├── exception
│ │ │ │ │ └── StorageException.java
│ │ │ │ │ ├── model
│ │ │ │ │ ├── Order.java
│ │ │ │ │ ├── Product.java
│ │ │ │ │ ├── UserAuthority.java
│ │ │ │ │ └── UserEntity.java
│ │ │ │ │ ├── repository
│ │ │ │ │ ├── OrderRepository.java
│ │ │ │ │ ├── ProductRepository.java
│ │ │ │ │ └── UserEntityRepository.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── StorageService.java
│ │ │ │ │ └── UserDetailsServiceImpl.java
│ │ │ └── resources
│ │ │ │ ├── application.properties
│ │ │ │ └── templates
│ │ │ │ ├── fragments.html
│ │ │ │ ├── order_detail.html
│ │ │ │ ├── order_list.html
│ │ │ │ ├── product_form.html
│ │ │ │ ├── product_list.html
│ │ │ │ └── shopcart.html
│ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── example
│ │ │ └── AppTests.java
│ └── uploads
│ │ ├── 1671734489664_bookstore.png
│ │ ├── 1671734614359_bookstore.png
│ │ └── 1671734684304_bookstore.png
└── spring-c09-web-flights
│ ├── .gitignore
│ ├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── example
│ │ │ ├── App.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ ├── controllers
│ │ │ ├── FileController.java
│ │ │ ├── FlightController.java
│ │ │ └── TicketController.java
│ │ │ ├── entities
│ │ │ ├── Flight.java
│ │ │ ├── Passenger.java
│ │ │ └── Ticket.java
│ │ │ ├── exceptions
│ │ │ ├── InsufficientBalanceException.java
│ │ │ └── TicketAlreadyPurchasedException.java
│ │ │ ├── repositories
│ │ │ ├── FlightRepository.java
│ │ │ ├── PassengerRepository.java
│ │ │ └── TicketRepository.java
│ │ │ └── services
│ │ │ ├── FileService.java
│ │ │ ├── FileServiceImpl.java
│ │ │ ├── FlightService.java
│ │ │ ├── FlightServiceImpl.java
│ │ │ ├── PassengerService.java
│ │ │ ├── PassengerServiceImpl.java
│ │ │ ├── TicketService.java
│ │ │ └── TicketServiceImpl.java
│ └── resources
│ │ ├── application.properties
│ │ ├── static
│ │ └── css
│ │ │ └── styles.css
│ │ └── templates
│ │ ├── flight
│ │ ├── flight-detail.html
│ │ ├── flight-form.html
│ │ └── flight-list.html
│ │ ├── navbar.html
│ │ └── ticket
│ │ ├── ticket-detail.html
│ │ ├── ticket-form.html
│ │ └── ticket-list.html
│ └── test
│ └── java
│ └── com
│ └── example
│ ├── controllers
│ ├── FlightControllerTest.java
│ └── TicketControllerTest.java
│ └── repositories
│ └── FlightRepositoryTest.java
└── README.md
/001. Introducción a Spring Framework/spring-intro/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/001. Introducción a Spring Framework/spring-intro/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/001. Introducción a Spring Framework/spring-intro/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/001. Introducción a Spring Framework/spring-intro/README.md:
--------------------------------------------------------------------------------
1 | # Spring: introducción al framework Spring
2 |
3 | Introducción a la inyección de dependencias en Spring:
4 |
5 | * Inyección de dependencias
6 | * @Bean
7 | * @ImportResource
8 | * @Configuration
9 | * @ComponentScan
10 | * @Service
11 | * @Primary
--------------------------------------------------------------------------------
/001. Introducción a Spring Framework/spring-intro/src/main/java/com/example/primary/CustomerService.java:
--------------------------------------------------------------------------------
1 | package com.example.primary;
2 |
3 | public interface CustomerService {
4 | String hello();
5 | }
6 |
--------------------------------------------------------------------------------
/001. Introducción a Spring Framework/spring-intro/src/main/java/com/example/service/EmployeeService.java:
--------------------------------------------------------------------------------
1 | package com.example.service;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 |
6 | public interface EmployeeService {
7 | String hello();
8 | }
9 |
--------------------------------------------------------------------------------
/001. Introducción a Spring Framework/spring-intro/src/main/java/com/example2/HelloService.java:
--------------------------------------------------------------------------------
1 | package com.example2;
2 |
3 | import org.springframework.stereotype.Service;
4 |
5 | @Service
6 | public class HelloService {
7 | }
8 |
--------------------------------------------------------------------------------
/001. Introducción a Spring Framework/spring-intro/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/001. Introducción a Spring Framework/spring-intro/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/002. Tu primera aplicación web con Spring Boot/spring-web-mvc/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/002. Tu primera aplicación web con Spring Boot/spring-web-mvc/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/002. Tu primera aplicación web con Spring Boot/spring-web-mvc/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/002. Tu primera aplicación web con Spring Boot/spring-web-mvc/README.md:
--------------------------------------------------------------------------------
1 | # Spring: Aplicación web con Spring MVC y Thymeleaf
2 |
3 | Ejemplo introductorio de aplicación web con Spring MVC y Thymeleaf.
--------------------------------------------------------------------------------
/002. Tu primera aplicación web con Spring Boot/spring-web-mvc/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/002. Tu primera aplicación web con Spring Boot/spring-web-mvc/src/main/resources/templates/product-form.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Title
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/002. Tu primera aplicación web con Spring Boot/spring-web-mvc/src/main/resources/templates/product-view.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Title
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/002. Tu primera aplicación web con Spring Boot/spring-web-mvc/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/003. Introducción a Spring Data JPA/spring-data-jpa/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/003. Introducción a Spring Data JPA/spring-data-jpa/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/003. Introducción a Spring Data JPA/spring-data-jpa/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/003. Introducción a Spring Data JPA/spring-data-jpa/README.md:
--------------------------------------------------------------------------------
1 | # Spring: introducción a Spring Data JPA
2 |
3 | * Entidades
4 | * Repositorios
--------------------------------------------------------------------------------
/003. Introducción a Spring Data JPA/spring-data-jpa/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/004. Tu primera API Rest con Spring Boot/spring-rest/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/004. Tu primera API Rest con Spring Boot/spring-rest/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/004. Tu primera API Rest con Spring Boot/spring-rest/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/004. Tu primera API Rest con Spring Boot/spring-rest/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # Spring: API REST
4 |
5 | * Controladores REST
--------------------------------------------------------------------------------
/004. Tu primera API Rest con Spring Boot/spring-rest/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/004. Tu primera API Rest con Spring Boot/spring-rest/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/005. Introducción a Spring Security/spring-security/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/005. Introducción a Spring Security/spring-security/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/005. Introducción a Spring Security/spring-security/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/005. Introducción a Spring Security/spring-security/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Security
3 |
4 | * Introducción a la seguridad con Spring Security y Spring Boot
--------------------------------------------------------------------------------
/005. Introducción a Spring Security/spring-security/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | #spring.security.user.name=postman
2 | #spring.security.user.password=postman
3 |
--------------------------------------------------------------------------------
/005. Introducción a Spring Security/spring-security/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/006. Implementa la gestión de errores en tu aplicación web con Spring Boot/spring-web-gestion-errores/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/006. Implementa la gestión de errores en tu aplicación web con Spring Boot/spring-web-gestion-errores/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/006. Implementa la gestión de errores en tu aplicación web con Spring Boot/spring-web-gestion-errores/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/006. Implementa la gestión de errores en tu aplicación web con Spring Boot/spring-web-gestion-errores/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring: Validación MVC
3 |
4 | * Validación con spring-boot-starter-validation en controladores MVC
--------------------------------------------------------------------------------
/006. Implementa la gestión de errores en tu aplicación web con Spring Boot/spring-web-gestion-errores/src/main/java/com/example/ProductService.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | public interface ProductService {
4 |
5 |
6 | Product findById(Long id);
7 | Product save(Product product);
8 | Product delete(Product product);
9 | }
10 |
--------------------------------------------------------------------------------
/006. Implementa la gestión de errores en tu aplicación web con Spring Boot/spring-web-gestion-errores/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/006. Implementa la gestión de errores en tu aplicación web con Spring Boot/spring-web-gestion-errores/src/main/resources/templates/product-error.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Title
6 |
7 |
8 |
9 | Error!
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/006. Implementa la gestión de errores en tu aplicación web con Spring Boot/spring-web-gestion-errores/src/main/resources/templates/product-info.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Title
6 |
7 |
8 |
9 | Product info page!
10 |
11 |
--------------------------------------------------------------------------------
/007. Validación de datos en tu aplicación web con Spring Boot/spring-rest-validation/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/007. Validación de datos en tu aplicación web con Spring Boot/spring-rest-validation/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/007. Validación de datos en tu aplicación web con Spring Boot/spring-rest-validation/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/007. Validación de datos en tu aplicación web con Spring Boot/spring-rest-validation/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring: Validación REST
3 |
4 | * Validación con spring-boot-starter-validation en controladores REST
--------------------------------------------------------------------------------
/007. Validación de datos en tu aplicación web con Spring Boot/spring-rest-validation/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/008. Paginación de resultados en tu aplicación web con Spring Boot/spring-pagination-thymeleaf/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/008. Paginación de resultados en tu aplicación web con Spring Boot/spring-pagination-thymeleaf/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/008. Paginación de resultados en tu aplicación web con Spring Boot/spring-pagination-thymeleaf/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/008. Paginación de resultados en tu aplicación web con Spring Boot/spring-pagination-thymeleaf/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring: Paginación de resultados (MVC)
3 |
4 | * Paginación con Pageable en aplicación MVC
--------------------------------------------------------------------------------
/008. Paginación de resultados en tu aplicación web con Spring Boot/spring-pagination-thymeleaf/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/009. Paginación de resultados en tu API REST con Spring Boot/spring-pagination-rest/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/009. Paginación de resultados en tu API REST con Spring Boot/spring-pagination-rest/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/009. Paginación de resultados en tu API REST con Spring Boot/spring-pagination-rest/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/009. Paginación de resultados en tu API REST con Spring Boot/spring-pagination-rest/README.md:
--------------------------------------------------------------------------------
1 | # Spring: Paginación de resultados (REST)
2 |
3 | * Paginación con Pageable en aplicación REST
--------------------------------------------------------------------------------
/009. Paginación de resultados en tu API REST con Spring Boot/spring-pagination-rest/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/010. Documenta tu API REST con Open API 3.0/spring-rest-openapi/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/010. Documenta tu API REST con Open API 3.0/spring-rest-openapi/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/010. Documenta tu API REST con Open API 3.0/spring-rest-openapi/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/010. Documenta tu API REST con Open API 3.0/spring-rest-openapi/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # Documentación API REST Spring con OpenAPI
4 |
5 | * Documentación API REST con springdoc-openapi-ui
--------------------------------------------------------------------------------
/010. Documenta tu API REST con Open API 3.0/spring-rest-openapi/src/main/java/com/example/controller/HelloController.java:
--------------------------------------------------------------------------------
1 | package com.example.controller;
2 |
3 | import io.swagger.v3.oas.annotations.Hidden;
4 | import org.springframework.web.bind.annotation.RestController;
5 |
6 | @Hidden
7 | @RestController
8 | public class HelloController {
9 | }
10 |
--------------------------------------------------------------------------------
/010. Documenta tu API REST con Open API 3.0/spring-rest-openapi/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/010. Documenta tu API REST con Open API 3.0/spring-rest-openapi/src/main/resources/application.properties
--------------------------------------------------------------------------------
/010. Documenta tu API REST con Open API 3.0/spring-rest-openapi/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/011. Testing unitario de tu aplicación con Spring Boot, Junit y Mockito/spring-testing-unitario/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/011. Testing unitario de tu aplicación con Spring Boot, Junit y Mockito/spring-testing-unitario/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/011. Testing unitario de tu aplicación con Spring Boot, Junit y Mockito/spring-testing-unitario/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/011. Testing unitario de tu aplicación con Spring Boot, Junit y Mockito/spring-testing-unitario/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring: Testing unitario
3 |
4 | Testing unitario con spring-boot-starter-test
5 |
6 | * JUnit 5
7 | * Mockito
--------------------------------------------------------------------------------
/011. Testing unitario de tu aplicación con Spring Boot, Junit y Mockito/spring-testing-unitario/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/012. Consultas básicas con Spring Data JPA/spring-data-jpa-consultas/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/012. Consultas básicas con Spring Data JPA/spring-data-jpa-consultas/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/012. Consultas básicas con Spring Data JPA/spring-data-jpa-consultas/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/012. Consultas básicas con Spring Data JPA/spring-data-jpa-consultas/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Consultas
3 |
4 | * @Transactional
5 | * @Modifying
6 | * @Query
--------------------------------------------------------------------------------
/012. Consultas básicas con Spring Data JPA/spring-data-jpa-consultas/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/012. Consultas básicas con Spring Data JPA/spring-data-jpa-consultas/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/013. Modelos de datos con asociaciones con Spring Data JPA/spring-data-jpa-asociaciones/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/013. Modelos de datos con asociaciones con Spring Data JPA/spring-data-jpa-asociaciones/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/013. Modelos de datos con asociaciones con Spring Data JPA/spring-data-jpa-asociaciones/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/013. Modelos de datos con asociaciones con Spring Data JPA/spring-data-jpa-asociaciones/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Asociaciones entre entidades:
3 |
4 | * @OneToOne
5 | * @OneToMany
6 | * @ManyToOne
7 | * @ManyToMany
8 |
9 |
--------------------------------------------------------------------------------
/013. Modelos de datos con asociaciones con Spring Data JPA/spring-data-jpa-asociaciones/src/main/java/com/example/model/EmployeeType.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public enum EmployeeType {
4 | JUNIOR, SENIOR, C_LEVEL
5 | }
6 |
--------------------------------------------------------------------------------
/014. Crea un CRUD con Spring Boot, Spring Data JPA y Thymeleaf/spring-crud-thymeleaf/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/014. Crea un CRUD con Spring Boot, Spring Data JPA y Thymeleaf/spring-crud-thymeleaf/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/014. Crea un CRUD con Spring Boot, Spring Data JPA y Thymeleaf/spring-crud-thymeleaf/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/014. Crea un CRUD con Spring Boot, Spring Data JPA y Thymeleaf/spring-crud-thymeleaf/README.md:
--------------------------------------------------------------------------------
1 |
2 | # CRUD: Spring MVC + Thymeleaf
3 |
4 | Operaciones Create Read Update Detele (CRUD) con controladores MVC y Thymeleaf en Spring Boot.
--------------------------------------------------------------------------------
/014. Crea un CRUD con Spring Boot, Spring Data JPA y Thymeleaf/spring-crud-thymeleaf/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/015. Introducción a Spring Data Redis/spring-data-redis/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/015. Introducción a Spring Data Redis/spring-data-redis/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/015. Introducción a Spring Data Redis/spring-data-redis/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/015. Introducción a Spring Data Redis/spring-data-redis/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data Redis
3 |
4 | Creación y guardado de entidades en Redis con spring-boot-starter-data-redis
--------------------------------------------------------------------------------
/015. Introducción a Spring Data Redis/spring-data-redis/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3.2'
2 |
3 | services:
4 |
5 | redis:
6 | image: "redis:alpine"
7 | container_name: redis
8 | command: redis-server --requirepass ${REDIS_PASS:-password123}
9 | ports:
10 | - "6379:6379"
--------------------------------------------------------------------------------
/015. Introducción a Spring Data Redis/spring-data-redis/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.redis.port=6379
2 | spring.redis.host=localhost
3 | spring.redis.database=1
4 | spring.redis.password=password123
5 | #spring.redis.username=redis
--------------------------------------------------------------------------------
/015. Introducción a Spring Data Redis/spring-data-redis/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/016. Introducción a Spring Data MongoDB/spring-data-mongodb/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/016. Introducción a Spring Data MongoDB/spring-data-mongodb/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/016. Introducción a Spring Data MongoDB/spring-data-mongodb/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/016. Introducción a Spring Data MongoDB/spring-data-mongodb/README.md:
--------------------------------------------------------------------------------
1 | # Spring Data MongoDB
2 |
3 | Creación y guardado de entidades en MongoDB con spring-boot-starter-data-mongodb
--------------------------------------------------------------------------------
/016. Introducción a Spring Data MongoDB/spring-data-mongodb/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | mongodb:
4 | image: mongo:5.0
5 | container_name: "mongodb"
6 | ports:
7 | - "27017:27017"
--------------------------------------------------------------------------------
/016. Introducción a Spring Data MongoDB/spring-data-mongodb/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.data.mongodb.host=localhost
2 | spring.data.mongodb.port=27017
3 | spring.data.mongodb.database=spring_mongodb
4 |
--------------------------------------------------------------------------------
/016. Introducción a Spring Data MongoDB/spring-data-mongodb/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/017. Consultas con Spring Data MongoDB/spring-data-mongodb-consultas/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/017. Consultas con Spring Data MongoDB/spring-data-mongodb-consultas/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/017. Consultas con Spring Data MongoDB/spring-data-mongodb-consultas/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/017. Consultas con Spring Data MongoDB/spring-data-mongodb-consultas/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Consultas Spring Data MongoDB
3 |
4 | Consultas en repositorios con spring-boot-starter-data-mongodb
--------------------------------------------------------------------------------
/017. Consultas con Spring Data MongoDB/spring-data-mongodb-consultas/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | mongodb:
4 | image: mongo:5.0
5 | container_name: "mongo_spring"
6 | ports:
7 | - "27017:27017"
--------------------------------------------------------------------------------
/017. Consultas con Spring Data MongoDB/spring-data-mongodb-consultas/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/017. Consultas con Spring Data MongoDB/spring-data-mongodb-consultas/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/018. Implementa timeout en las peticiones de tu API REST/spring-timeout/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/018. Implementa timeout en las peticiones de tu API REST/spring-timeout/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/018. Implementa timeout en las peticiones de tu API REST/spring-timeout/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/018. Implementa timeout en las peticiones de tu API REST/spring-timeout/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Timeout en Spring Boot
3 |
4 | Implementación de timeout en Spring Boot con resilience4j-spring-boot
--------------------------------------------------------------------------------
/018. Implementa timeout en las peticiones de tu API REST/spring-timeout/src/main/java/com/example/Employee.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | public record Employee(Long id, String name, Double salary) {
4 | }
5 |
--------------------------------------------------------------------------------
/018. Implementa timeout en las peticiones de tu API REST/spring-timeout/src/main/resources/application.properties.old:
--------------------------------------------------------------------------------
1 |
2 | #spring.mvc.async.request-timeout=2s
--------------------------------------------------------------------------------
/018. Implementa timeout en las peticiones de tu API REST/spring-timeout/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | resilience4j.timelimiter:
2 | configs:
3 | default:
4 | cancelRunningFuture: true
5 | timeoutDuration: 3s
6 | instaces:
7 | findAll1:
8 | baseConfig: default
9 | findAll2:
10 | baseConfig: default
--------------------------------------------------------------------------------
/019. Introducción a Spring WebFlux/spring-webflux/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/019. Introducción a Spring WebFlux/spring-webflux/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/019. Introducción a Spring WebFlux/spring-webflux/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/019. Introducción a Spring WebFlux/spring-webflux/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Introducción a Spring WebFlux
3 |
4 | * Controladores basados en anotaciones
5 | * Controladores funcionales
--------------------------------------------------------------------------------
/019. Introducción a Spring WebFlux/spring-webflux/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/019. Introducción a Spring WebFlux/spring-webflux/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/020. Introducción a Spring WebFlux con Kotlin/spring-webflux-kotlin/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/020. Introducción a Spring WebFlux con Kotlin/spring-webflux-kotlin/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/020. Introducción a Spring WebFlux con Kotlin/spring-webflux-kotlin/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/020. Introducción a Spring WebFlux con Kotlin/spring-webflux-kotlin/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # Introducción a Spring WebFlux en Kotlin
4 |
5 | * Controladores funcionales
6 |
7 | Lenguaje de programación: Kotlin.
8 |
--------------------------------------------------------------------------------
/020. Introducción a Spring WebFlux con Kotlin/spring-webflux-kotlin/src/main/kotlin/com/example/domain/Book.kt:
--------------------------------------------------------------------------------
1 | package com.example.domain
2 |
3 | data class Book(var id: Long?, var title: String, var author: String)
4 |
--------------------------------------------------------------------------------
/020. Introducción a Spring WebFlux con Kotlin/spring-webflux-kotlin/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/021. Crea una aplicación web reactiva con Spring WebFlux y Thymeleaf/spring-webflux-thymeleaf/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/021. Crea una aplicación web reactiva con Spring WebFlux y Thymeleaf/spring-webflux-thymeleaf/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/021. Crea una aplicación web reactiva con Spring WebFlux y Thymeleaf/spring-webflux-thymeleaf/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/021. Crea una aplicación web reactiva con Spring WebFlux y Thymeleaf/spring-webflux-thymeleaf/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring WebFlux y Thymeleaf
3 |
4 | Controladores MVC reactivos con Spring WebFlux y Thymeleaf:
5 |
6 | * ReactiveDataDriverContextVariable
7 | * RestTemplate
8 | * WebClient
--------------------------------------------------------------------------------
/021. Crea una aplicación web reactiva con Spring WebFlux y Thymeleaf/spring-webflux-thymeleaf/src/main/java/com/example/example1/model/Employee.java:
--------------------------------------------------------------------------------
1 | package com.example.example1.model;
2 |
3 | public record Employee(Long id, String name, Double salary) {
4 | }
5 |
--------------------------------------------------------------------------------
/021. Crea una aplicación web reactiva con Spring WebFlux y Thymeleaf/spring-webflux-thymeleaf/src/main/java/com/example/example2/model/Book.java:
--------------------------------------------------------------------------------
1 | package com.example.example2.model;
2 |
3 | public record Book(Long id, String title, String author) {
4 | }
5 |
--------------------------------------------------------------------------------
/021. Crea una aplicación web reactiva con Spring WebFlux y Thymeleaf/spring-webflux-thymeleaf/src/main/java/com/example/example3/model/Book.java:
--------------------------------------------------------------------------------
1 | package com.example.example3.model;
2 |
3 | public record Book(Long id, String title, String author) {
4 | }
5 |
--------------------------------------------------------------------------------
/021. Crea una aplicación web reactiva con Spring WebFlux y Thymeleaf/spring-webflux-thymeleaf/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 | #spring.thymeleaf.reactive.max-chunk-size=1024
--------------------------------------------------------------------------------
/022. Spring vs. Spring Boot vs. Spring MVC/spring-vs-springboot-vs-springmvc/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Ecosistema Spring
3 |
4 | * Spring Framework
5 | * Spring Boot
6 | * Spring MVC
--------------------------------------------------------------------------------
/022. Spring vs. Spring Boot vs. Spring MVC/spring-vs-springboot-vs-springmvc/src/main/java/com/example/Employee.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | public record Employee(Long id, String name) {
4 | }
5 |
--------------------------------------------------------------------------------
/022. Spring vs. Spring Boot vs. Spring MVC/spring-vs-springboot-vs-springmvc/src/main/java/com/example/EmployeeService.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import java.util.List;
4 |
5 | public interface EmployeeService {
6 | List findAll();
7 | }
8 |
--------------------------------------------------------------------------------
/023. Introducción a la programación dirigida por eventos con Spring/spring-events/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/023. Introducción a la programación dirigida por eventos con Spring/spring-events/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/023. Introducción a la programación dirigida por eventos con Spring/spring-events/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/023. Introducción a la programación dirigida por eventos con Spring/spring-events/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Eventos en Spring
3 |
4 | Creación de eventos en Spring con ``org.springframework.context.ApplicationEvent``.
--------------------------------------------------------------------------------
/023. Introducción a la programación dirigida por eventos con Spring/spring-events/src/main/java/com/example/service/EmployeeService.java:
--------------------------------------------------------------------------------
1 | package com.example.service;
2 |
3 |
4 | import com.example.model.Employee;
5 |
6 | public interface EmployeeService {
7 | Employee create(Employee employee);
8 | void deleteById(Long id);
9 | }
10 |
--------------------------------------------------------------------------------
/023. Introducción a la programación dirigida por eventos con Spring/spring-events/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Full Stack con Spring + Angular
3 |
4 | * Backend con Spring Boot
5 | * Frontend con Angular
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/backend/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/backend/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/backend/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/backend/src/main/java/com/example/Book.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | public record Book(Long id, String title) {
4 | }
5 |
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/backend/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/app/app.component.css
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-root',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.css']
7 | })
8 | export class AppComponent {
9 | title = 'frontend';
10 | }
11 |
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/app/book-list/book-list.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/app/book-list/book-list.component.css
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/app/book-list/book-list.component.html:
--------------------------------------------------------------------------------
1 |
2 |
Book List
3 |
4 |
5 | -
6 | {{book.id}} - {{book.title}}
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/app/models/book.ts:
--------------------------------------------------------------------------------
1 | export class Book{
2 | id?: number;
3 | title?: string;
4 | }
5 |
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/assets/.gitkeep
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/favicon.ico
--------------------------------------------------------------------------------
/024. Desarrolla una aplicación con Spring Boot y Angular/spring-angular/frontend/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Full Stack con Spring + React
3 |
4 | * Backend con Spring Boot
5 | * Frontend con React
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/backend/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/025. Desarrolla una aplicación con Spring Boot y React/spring-react/backend/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/backend/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/backend/src/main/java/com/example/Employee.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | public record Employee(Long id, String name, String role) {
4 | }
5 |
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/backend/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/frontend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/025. Desarrolla una aplicación con Spring Boot y React/spring-react/frontend/public/favicon.ico
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/frontend/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/025. Desarrolla una aplicación con Spring Boot y React/spring-react/frontend/public/logo192.png
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/frontend/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/025. Desarrolla una aplicación con Spring Boot y React/spring-react/frontend/public/logo512.png
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/frontend/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/frontend/src/App.test.js:
--------------------------------------------------------------------------------
1 | import { render, screen } from '@testing-library/react';
2 | import App from './App';
3 |
4 | test('renders learn react link', () => {
5 | render();
6 | const linkElement = screen.getByText(/learn react/i);
7 | expect(linkElement).toBeInTheDocument();
8 | });
9 |
--------------------------------------------------------------------------------
/025. Desarrolla una aplicación con Spring Boot y React/spring-react/frontend/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Full Stack con Spring + Vue
3 |
4 | * Backend con Spring Boot
5 | * Frontend con Vue
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/backend/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/backend/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/backend/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/backend/src/main/java/com/example/Employee.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | public record Employee(Long id, String name, String role) {
4 | }
5 |
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/backend/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=8081
2 |
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/frontend/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/frontend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/frontend/public/favicon.ico
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/frontend/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/frontend/src/assets/logo.png
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/frontend/src/components/EmployeeDetail.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/frontend/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import 'bootstrap'
3 | import 'bootstrap/dist/css/bootstrap.min.css'
4 | import App from './App.vue'
5 | import router from './router'
6 |
7 | createApp(App).use(router).mount('#app')
8 |
--------------------------------------------------------------------------------
/026. Desarrolla una aplicación con Spring Boot y Vue.js/spring-vue/frontend/vue.config.js:
--------------------------------------------------------------------------------
1 | const { defineConfig } = require('@vue/cli-service')
2 | module.exports = defineConfig({
3 | transpileDependencies: true
4 | })
5 |
--------------------------------------------------------------------------------
/027. Seguridad JWT en tu API Rest con Spring Boot/spring-jwt/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/027. Seguridad JWT en tu API Rest con Spring Boot/spring-jwt/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/027. Seguridad JWT en tu API Rest con Spring Boot/spring-jwt/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/027. Seguridad JWT en tu API Rest con Spring Boot/spring-jwt/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Security + JWT
3 |
4 | Seguridad en API REST de Spring con JWT.
--------------------------------------------------------------------------------
/027. Seguridad JWT en tu API Rest con Spring Boot/spring-jwt/src/main/java/com/example/dto/LoginRequest.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record LoginRequest(String username, String password) {
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/027. Seguridad JWT en tu API Rest con Spring Boot/spring-jwt/src/main/java/com/example/dto/LoginResponse.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | import java.util.List;
4 |
5 | public record LoginResponse(String username, List authorities, String token) {
6 | }
7 |
8 |
--------------------------------------------------------------------------------
/027. Seguridad JWT en tu API Rest con Spring Boot/spring-jwt/src/main/java/com/example/model/UserAuthority.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public enum UserAuthority {
4 | READ, WRITE
5 | }
6 |
--------------------------------------------------------------------------------
/027. Seguridad JWT en tu API Rest con Spring Boot/spring-jwt/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 | app.security.jwt.secret=K3lF7QAspsGG09mbIaryP3jtRkkxC5pwTV6BtM4kU5EXYRDEkMM9dUdjlpjPrEWYM
3 | app.security.jwt.expiration=86400
4 |
--------------------------------------------------------------------------------
/028. Mejora la internacionalización de tu aplicación web con Spring Boot/spring-i18n/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/028. Mejora la internacionalización de tu aplicación web con Spring Boot/spring-i18n/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/028. Mejora la internacionalización de tu aplicación web con Spring Boot/spring-i18n/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/028. Mejora la internacionalización de tu aplicación web con Spring Boot/spring-i18n/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Internacionalización en Spring
3 |
4 | Implementar i18n en Spring.
--------------------------------------------------------------------------------
/028. Mejora la internacionalización de tu aplicación web con Spring Boot/spring-i18n/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 | spring.jpa.hibernate.ddl-auto=create
3 | spring.sql.init.mode=always
4 | spring.jpa.defer-datasource-initialization=true
--------------------------------------------------------------------------------
/029. Testea tu API REST con Spring Boot/spring-rest-testing/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/029. Testea tu API REST con Spring Boot/spring-rest-testing/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/029. Testea tu API REST con Spring Boot/spring-rest-testing/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/029. Testea tu API REST con Spring Boot/spring-rest-testing/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Testing de API REST
3 |
4 | Testing de API REST con JUnit 5 y MockMvc.
--------------------------------------------------------------------------------
/029. Testea tu API REST con Spring Boot/spring-rest-testing/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/029. Testea tu API REST con Spring Boot/spring-rest-testing/src/test/java/com/example/CutomerControllerITest.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.springframework.boot.test.web.client.TestRestTemplate;
4 |
5 | public class CutomerControllerITest {
6 |
7 | private TestRestTemplate template;
8 |
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/030. Testea la persistencia de tu aplicación con Spring Boot/spring-data-jpa-testing/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/030. Testea la persistencia de tu aplicación con Spring Boot/spring-data-jpa-testing/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/030. Testea la persistencia de tu aplicación con Spring Boot/spring-data-jpa-testing/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/030. Testea la persistencia de tu aplicación con Spring Boot/spring-data-jpa-testing/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Testing de repositorios
3 |
4 | Testing de repositorios Spring Data JPA.
--------------------------------------------------------------------------------
/030. Testea la persistencia de tu aplicación con Spring Boot/spring-data-jpa-testing/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/030. Testea la persistencia de tu aplicación con Spring Boot/spring-data-jpa-testing/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 | spring.jpa.show-sql=true
3 | spring.jpa.properties.hibernate.format_sql=true
--------------------------------------------------------------------------------
/030. Testea la persistencia de tu aplicación con Spring Boot/spring-data-jpa-testing/src/test/resources/com/example/customers.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO orders (`client`, `total`) VALUES ('customer3', 10.0);
2 | INSERT INTO orders (`client`, `total`) VALUES ('customer4', 20.0);
--------------------------------------------------------------------------------
/030. Testea la persistencia de tu aplicación con Spring Boot/spring-data-jpa-testing/src/test/resources/com/example/orders.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO orders (`client`, `total`) VALUES ('customer1', 10.0);
2 | INSERT INTO orders (`client`, `total`) VALUES ('customer2', 20.0);
--------------------------------------------------------------------------------
/031. Test Driven Development con Spring Boot/spring-tdd/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/031. Test Driven Development con Spring Boot/spring-tdd/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/031. Test Driven Development con Spring Boot/spring-tdd/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/031. Test Driven Development con Spring Boot/spring-tdd/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Test Driven Development (TDD) en Spring
--------------------------------------------------------------------------------
/031. Test Driven Development con Spring Boot/spring-tdd/src/main/java/com/example/ProductRepository.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 | import org.springframework.stereotype.Repository;
5 |
6 | @Repository
7 | public interface ProductRepository extends JpaRepository {
8 | }
9 |
--------------------------------------------------------------------------------
/031. Test Driven Development con Spring Boot/spring-tdd/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/032. Documenta tu API REST con Spring Rest Docs/spring-rest-docs/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/032. Documenta tu API REST con Spring Rest Docs/spring-rest-docs/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/032. Documenta tu API REST con Spring Rest Docs/spring-rest-docs/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/032. Documenta tu API REST con Spring Rest Docs/spring-rest-docs/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Rest Docs
3 |
4 | Documentación automática con Spring Rest Docs:
5 |
6 | * spring-restdocs-mockmvc
7 | * Asciidoctor
--------------------------------------------------------------------------------
/032. Documenta tu API REST con Spring Rest Docs/spring-rest-docs/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/033. Cómo solucionar los problemas de fetching con Spring Data JPA/spring-data-jpa-fetching/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/033. Cómo solucionar los problemas de fetching con Spring Data JPA/spring-data-jpa-fetching/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/033. Cómo solucionar los problemas de fetching con Spring Data JPA/spring-data-jpa-fetching/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/033. Cómo solucionar los problemas de fetching con Spring Data JPA/spring-data-jpa-fetching/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: fetching
3 |
4 | Estrategias de fetching de datos en Spring Data JPA.
--------------------------------------------------------------------------------
/033. Cómo solucionar los problemas de fetching con Spring Data JPA/spring-data-jpa-fetching/src/main/java/com/example/projection/BookTitle.java:
--------------------------------------------------------------------------------
1 | package com.example.projection;
2 |
3 | public interface BookTitle {
4 |
5 | String getTitle();
6 | }
7 |
--------------------------------------------------------------------------------
/033. Cómo solucionar los problemas de fetching con Spring Data JPA/spring-data-jpa-fetching/src/main/java/com/example/projection/BookView.java:
--------------------------------------------------------------------------------
1 | package com.example.projection;
2 |
3 | public interface BookView {
4 |
5 | String getBookTitle();
6 |
7 | String getAuthorName();
8 |
9 | String getAuthorCity();
10 | }
11 |
--------------------------------------------------------------------------------
/033. Cómo solucionar los problemas de fetching con Spring Data JPA/spring-data-jpa-fetching/src/main/java/com/example/repository/AddressRepository.java:
--------------------------------------------------------------------------------
1 | package com.example.repository;
2 |
3 | import com.example.model.Address;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface AddressRepository extends JpaRepository {
7 | }
--------------------------------------------------------------------------------
/033. Cómo solucionar los problemas de fetching con Spring Data JPA/spring-data-jpa-fetching/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/034. Mejora tus modelos de datos de Spring Data JPA usando grafos de entidad/spring-data-jpa-entitygraph/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/034. Mejora tus modelos de datos de Spring Data JPA usando grafos de entidad/spring-data-jpa-entitygraph/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/034. Mejora tus modelos de datos de Spring Data JPA usando grafos de entidad/spring-data-jpa-entitygraph/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/034. Mejora tus modelos de datos de Spring Data JPA usando grafos de entidad/spring-data-jpa-entitygraph/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Entity Graph
3 |
4 | Fetching de datos con Entity Graph
--------------------------------------------------------------------------------
/034. Mejora tus modelos de datos de Spring Data JPA usando grafos de entidad/spring-data-jpa-entitygraph/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/035. Consultas con Criteria Query con Spring Data JPA/spring-data-jpa-criteria/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/035. Consultas con Criteria Query con Spring Data JPA/spring-data-jpa-criteria/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/035. Consultas con Criteria Query con Spring Data JPA/spring-data-jpa-criteria/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/035. Consultas con Criteria Query con Spring Data JPA/spring-data-jpa-criteria/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Criteria API
3 |
4 | Consultas Criteria.
--------------------------------------------------------------------------------
/035. Consultas con Criteria Query con Spring Data JPA/spring-data-jpa-criteria/src/main/java/com/example/ProductRepository.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 | import org.springframework.stereotype.Repository;
5 |
6 | @Repository
7 | public interface ProductRepository extends JpaRepository{
8 | }
9 |
--------------------------------------------------------------------------------
/035. Consultas con Criteria Query con Spring Data JPA/spring-data-jpa-criteria/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/035. Consultas con Criteria Query con Spring Data JPA/spring-data-jpa-criteria/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/036. Consultas dinámicas con Spring Data JPA/spring-data-jpa-spec-qbe/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/036. Consultas dinámicas con Spring Data JPA/spring-data-jpa-spec-qbe/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/036. Consultas dinámicas con Spring Data JPA/spring-data-jpa-spec-qbe/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/036. Consultas dinámicas con Spring Data JPA/spring-data-jpa-spec-qbe/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: APIs Specification y Query By Example
--------------------------------------------------------------------------------
/036. Consultas dinámicas con Spring Data JPA/spring-data-jpa-spec-qbe/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/036. Consultas dinámicas con Spring Data JPA/spring-data-jpa-spec-qbe/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/037. Diferentes tipos de repositorios en Spring Data JPA/spring-data-jpa-repositories/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/037. Diferentes tipos de repositorios en Spring Data JPA/spring-data-jpa-repositories/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/037. Diferentes tipos de repositorios en Spring Data JPA/spring-data-jpa-repositories/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/037. Diferentes tipos de repositorios en Spring Data JPA/spring-data-jpa-repositories/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Repositorios
--------------------------------------------------------------------------------
/037. Diferentes tipos de repositorios en Spring Data JPA/spring-data-jpa-repositories/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 | spring.jpa.show-sql=true
3 | spring.jpa.properties.hibernate.format_sql=true
--------------------------------------------------------------------------------
/038. Customiza tus repositorios con Spring Data JPA/spring-data-jpa-custom-repositories/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/038. Customiza tus repositorios con Spring Data JPA/spring-data-jpa-custom-repositories/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/038. Customiza tus repositorios con Spring Data JPA/spring-data-jpa-custom-repositories/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/038. Customiza tus repositorios con Spring Data JPA/spring-data-jpa-custom-repositories/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Extender repositorios
--------------------------------------------------------------------------------
/038. Customiza tus repositorios con Spring Data JPA/spring-data-jpa-custom-repositories/src/main/java/com/example/example1/ProductDAO.java:
--------------------------------------------------------------------------------
1 | package com.example.example1;
2 |
3 | import java.util.List;
4 |
5 | public interface ProductDAO {
6 |
7 | List findAllWithCriteria();
8 |
9 | ProductStats fetchStats();
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/038. Customiza tus repositorios con Spring Data JPA/spring-data-jpa-custom-repositories/src/main/java/com/example/example1/ProductStats.java:
--------------------------------------------------------------------------------
1 | package com.example.example1;
2 |
3 | public record ProductStats(Long products, Long offers, Long customers) {
4 | }
5 |
--------------------------------------------------------------------------------
/038. Customiza tus repositorios con Spring Data JPA/spring-data-jpa-custom-repositories/src/main/java/com/example/example2/EmployeeRepository.java:
--------------------------------------------------------------------------------
1 | package com.example.example2;
2 |
3 | import org.springframework.stereotype.Repository;
4 |
5 | @Repository
6 | public interface EmployeeRepository extends BaseUserRepository {
7 | }
8 |
--------------------------------------------------------------------------------
/038. Customiza tus repositorios con Spring Data JPA/spring-data-jpa-custom-repositories/src/main/java/com/example/example2/PersonRepository.java:
--------------------------------------------------------------------------------
1 | package com.example.example2;
2 |
3 | import org.springframework.stereotype.Repository;
4 |
5 | @Repository
6 | public interface PersonRepository extends BaseUserRepository{
7 | }
8 |
--------------------------------------------------------------------------------
/038. Customiza tus repositorios con Spring Data JPA/spring-data-jpa-custom-repositories/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/039. Auditoría de datos con Spring Data JPA/spring-data-jpa-auditing/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/039. Auditoría de datos con Spring Data JPA/spring-data-jpa-auditing/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/039. Auditoría de datos con Spring Data JPA/spring-data-jpa-auditing/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/039. Auditoría de datos con Spring Data JPA/spring-data-jpa-auditing/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Auditoría de datos
--------------------------------------------------------------------------------
/039. Auditoría de datos con Spring Data JPA/spring-data-jpa-auditing/src/main/java/com/example/model/Login.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public record Login(String username, String password) {
4 | }
5 |
--------------------------------------------------------------------------------
/039. Auditoría de datos con Spring Data JPA/spring-data-jpa-auditing/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/040. Cómo invocar procedimientos almacenados con Spring Data JPA/spring-data-jpa-procedure/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/040. Cómo invocar procedimientos almacenados con Spring Data JPA/spring-data-jpa-procedure/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/040. Cómo invocar procedimientos almacenados con Spring Data JPA/spring-data-jpa-procedure/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/040. Cómo invocar procedimientos almacenados con Spring Data JPA/spring-data-jpa-procedure/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: procedimientos
--------------------------------------------------------------------------------
/041. Manejo de transacciones con Spring Data JPA/spring-data-jpa-transactions/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/041. Manejo de transacciones con Spring Data JPA/spring-data-jpa-transactions/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/041. Manejo de transacciones con Spring Data JPA/spring-data-jpa-transactions/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/041. Manejo de transacciones con Spring Data JPA/spring-data-jpa-transactions/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Transacciones
--------------------------------------------------------------------------------
/041. Manejo de transacciones con Spring Data JPA/spring-data-jpa-transactions/src/main/java/com/example/lock/optimistic/CustomerRepository.java:
--------------------------------------------------------------------------------
1 | package com.example.lock.optimistic;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface CustomerRepository extends JpaRepository {
6 |
7 | }
--------------------------------------------------------------------------------
/041. Manejo de transacciones con Spring Data JPA/spring-data-jpa-transactions/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 | logging.level.org.springframework.orm.jpa=debug
3 | spring.datasource.url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=2000
--------------------------------------------------------------------------------
/042. Mejora el borrado de entidades con Spring Data JPA/spring-data-jpa-deletion/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/042. Mejora el borrado de entidades con Spring Data JPA/spring-data-jpa-deletion/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/042. Mejora el borrado de entidades con Spring Data JPA/spring-data-jpa-deletion/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/042. Mejora el borrado de entidades con Spring Data JPA/spring-data-jpa-deletion/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Borrado de entidades
--------------------------------------------------------------------------------
/042. Mejora el borrado de entidades con Spring Data JPA/spring-data-jpa-deletion/src/main/java/com/example/cascadeorphan/AuthorRepository.java:
--------------------------------------------------------------------------------
1 | package com.example.cascadeorphan;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface AuthorRepository extends JpaRepository {
6 | }
--------------------------------------------------------------------------------
/042. Mejora el borrado de entidades con Spring Data JPA/spring-data-jpa-deletion/src/main/java/com/example/sqldelete/EmployeeRepository.java:
--------------------------------------------------------------------------------
1 | package com.example.sqldelete;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface EmployeeRepository extends JpaRepository {
6 | }
--------------------------------------------------------------------------------
/043. Configuración programática del origen de datos con Spring Data JPA/spring-data-jpa-datasource/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/043. Configuración programática del origen de datos con Spring Data JPA/spring-data-jpa-datasource/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/043. Configuración programática del origen de datos con Spring Data JPA/spring-data-jpa-datasource/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/043. Configuración programática del origen de datos con Spring Data JPA/spring-data-jpa-datasource/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: configuración DataSource
--------------------------------------------------------------------------------
/043. Configuración programática del origen de datos con Spring Data JPA/spring-data-jpa-datasource/db/database.mv.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/043. Configuración programática del origen de datos con Spring Data JPA/spring-data-jpa-datasource/db/database.mv.db
--------------------------------------------------------------------------------
/043. Configuración programática del origen de datos con Spring Data JPA/spring-data-jpa-datasource/src/main/resources/application.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/043. Configuración programática del origen de datos con Spring Data JPA/spring-data-jpa-datasource/src/main/resources/application.properties
--------------------------------------------------------------------------------
/044. Implementa un mecanismo de caché con Spring Boot y Redis/spring-redis-cache/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/044. Implementa un mecanismo de caché con Spring Boot y Redis/spring-redis-cache/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/044. Implementa un mecanismo de caché con Spring Boot y Redis/spring-redis-cache/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/044. Implementa un mecanismo de caché con Spring Boot y Redis/spring-redis-cache/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data Redis: Caché
3 |
4 | Uso de Redis como Caché
--------------------------------------------------------------------------------
/044. Implementa un mecanismo de caché con Spring Boot y Redis/spring-redis-cache/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | redis:
4 | container_name: redis-spring
5 | hostname: redis
6 | image: redis
7 | ports:
8 | - "6379:6379"
9 | # redis GUI
10 |
--------------------------------------------------------------------------------
/044. Implementa un mecanismo de caché con Spring Boot y Redis/spring-redis-cache/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.jpa.show-sql=true
2 | #spring.redis.username=
3 | #spring.redis.password=
4 | spring.cache.redis.time-to-live=
--------------------------------------------------------------------------------
/045. Cómo generar tu esquema de base de datos con Spring Data JPA/spring-data-jpa-schemagen/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/045. Cómo generar tu esquema de base de datos con Spring Data JPA/spring-data-jpa-schemagen/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/045. Cómo generar tu esquema de base de datos con Spring Data JPA/spring-data-jpa-schemagen/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/046. Aprovecha el plugin JPA Buddy de Intellij IDEA en tus proyectos Spring Data JPA/spring-data-jpa-jpabuddy/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/046. Aprovecha el plugin JPA Buddy de Intellij IDEA en tus proyectos Spring Data JPA/spring-data-jpa-jpabuddy/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/046. Aprovecha el plugin JPA Buddy de Intellij IDEA en tus proyectos Spring Data JPA/spring-data-jpa-jpabuddy/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: JPA Buddy
3 |
4 | Uso del plugin JPA Buddy para IntelliJ IDEA.
--------------------------------------------------------------------------------
/046. Aprovecha el plugin JPA Buddy de Intellij IDEA en tus proyectos Spring Data JPA/spring-data-jpa-jpabuddy/src/main/java/com/example/CustomerDto.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import java.io.Serializable;
4 |
5 | public record CustomerDto(String fullName, Type type, Long version) implements Serializable {
6 | }
7 |
--------------------------------------------------------------------------------
/046. Aprovecha el plugin JPA Buddy de Intellij IDEA en tus proyectos Spring Data JPA/spring-data-jpa-jpabuddy/src/main/java/com/example/Type.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | public enum Type {
4 | JUNIOR, SENIOR
5 | }
6 |
--------------------------------------------------------------------------------
/046. Aprovecha el plugin JPA Buddy de Intellij IDEA en tus proyectos Spring Data JPA/spring-data-jpa-jpabuddy/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/047. Cómo mantener tu esquema de base de datos con Spring Data JPA y Flyway/spring-data-jpa-flyway/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/047. Cómo mantener tu esquema de base de datos con Spring Data JPA y Flyway/spring-data-jpa-flyway/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/047. Cómo mantener tu esquema de base de datos con Spring Data JPA y Flyway/spring-data-jpa-flyway/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/047. Cómo mantener tu esquema de base de datos con Spring Data JPA y Flyway/spring-data-jpa-flyway/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Flyway
3 |
4 | Control de versiones sobre la base de datos con Flyway
--------------------------------------------------------------------------------
/047. Cómo mantener tu esquema de base de datos con Spring Data JPA y Flyway/spring-data-jpa-flyway/src/main/resources/db/callbacks/afterMigrate.sql:
--------------------------------------------------------------------------------
1 | SELECT * FROM `employees`;
--------------------------------------------------------------------------------
/047. Cómo mantener tu esquema de base de datos con Spring Data JPA y Flyway/spring-data-jpa-flyway/src/main/resources/db/migration/V1_1_0__employees_data.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO employees (name, email) values ('emp1', 'emp1@company.com');
2 | INSERT INTO employees (name, email) values ('emp2', 'emp2@company.com');
--------------------------------------------------------------------------------
/048. Cómo mantener tu esquema de base de datos con Spring Data JPA y Liquibase/spring-data-jpa-liquibase/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/048. Cómo mantener tu esquema de base de datos con Spring Data JPA y Liquibase/spring-data-jpa-liquibase/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/048. Cómo mantener tu esquema de base de datos con Spring Data JPA y Liquibase/spring-data-jpa-liquibase/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/048. Cómo mantener tu esquema de base de datos con Spring Data JPA y Liquibase/spring-data-jpa-liquibase/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: Liquibase
3 |
4 | Control de versiones sobre la base de datos con Liquibase.
5 |
6 | mvn liquibase:rollback -Dliquibase.rollbackTag=version_0.2.0
7 | mvn liquibase:rollback -Dliquibase.rollbackTag=version_0.1.0
--------------------------------------------------------------------------------
/048. Cómo mantener tu esquema de base de datos con Spring Data JPA y Liquibase/spring-data-jpa-liquibase/liquibase.properties:
--------------------------------------------------------------------------------
1 | driver=com.mysql.cj.jdbc.Driver
2 | url=jdbc:mysql://localhost:3306/spring_data_jpa_liquibase
3 | username=root
4 | password=admin
5 | changeLogFile=src/main/resources/liquibase/master.xml
6 |
--------------------------------------------------------------------------------
/048. Cómo mantener tu esquema de base de datos con Spring Data JPA y Liquibase/spring-data-jpa-liquibase/src/main/resources/liquibase/data/employees.csv:
--------------------------------------------------------------------------------
1 | name;email;phone
2 | emp1;emp1@company.com;666555444
3 | emp2;emp2@company.com;666555444
4 | emp3;emp3@company.com;666555444
--------------------------------------------------------------------------------
/049. Consultas QueryDSL con Spring Data MongoDB/spring-data-mongo-querydsl/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/049. Consultas QueryDSL con Spring Data MongoDB/spring-data-mongo-querydsl/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/049. Consultas QueryDSL con Spring Data MongoDB/spring-data-mongo-querydsl/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/049. Consultas QueryDSL con Spring Data MongoDB/spring-data-mongo-querydsl/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data MongoDB: Consultas con QueryDSL
--------------------------------------------------------------------------------
/049. Consultas QueryDSL con Spring Data MongoDB/spring-data-mongo-querydsl/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3.8"
2 | services:
3 | my-mongo-db:
4 | container_name: mongo-querydsl
5 | image: mongo:5.0.6
6 | ports:
7 | - "27017:27017"
8 | environment:
9 | MONGO_INITDB_ROOT_USERNAME: root
10 | MONGO_INITDB_ROOT_PASSWORD: admin
--------------------------------------------------------------------------------
/049. Consultas QueryDSL con Spring Data MongoDB/spring-data-mongo-querydsl/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 | spring.data.mongodb.database=spring_db
3 | spring.data.mongodb.host=localhost
4 | spring.data.mongodb.port=27017
5 | spring.data.mongodb.username=root
6 | spring.data.mongodb.password=admin
7 | spring.data.mongodb.authentication-database=admin
--------------------------------------------------------------------------------
/049. Consultas QueryDSL con Spring Data MongoDB/spring-data-mongo-querydsl/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/050. Proyecciones y Agregaciones con Spring Data MongoDB/spring-data-mongodb-proj-agg/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/050. Proyecciones y Agregaciones con Spring Data MongoDB/spring-data-mongodb-proj-agg/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/050. Proyecciones y Agregaciones con Spring Data MongoDB/spring-data-mongodb-proj-agg/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/050. Proyecciones y Agregaciones con Spring Data MongoDB/spring-data-mongodb-proj-agg/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data MongoDB: Proyecciones y agregaciones
--------------------------------------------------------------------------------
/050. Proyecciones y Agregaciones con Spring Data MongoDB/spring-data-mongodb-proj-agg/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3.8"
2 | services:
3 | my-mongo-db:
4 | container_name: mongo
5 | image: mongo:5.0.6
6 | ports:
7 | - "27017:27017"
8 | environment:
9 | MONGO_INITDB_ROOT_USERNAME: root
10 | MONGO_INITDB_ROOT_PASSWORD: admin
--------------------------------------------------------------------------------
/050. Proyecciones y Agregaciones con Spring Data MongoDB/spring-data-mongodb-proj-agg/src/main/java/com/example/dto/PriceByCategory.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record PriceByCategory(String category, double totalPrice) {
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/050. Proyecciones y Agregaciones con Spring Data MongoDB/spring-data-mongodb-proj-agg/src/main/java/com/example/dto/PriceByManufacturer.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record PriceByManufacturer(String manufacturer, double totalPrice) {
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/050. Proyecciones y Agregaciones con Spring Data MongoDB/spring-data-mongodb-proj-agg/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
3 | spring.data.mongodb.database=spring_db
4 | spring.data.mongodb.host=localhost
5 | spring.data.mongodb.port=27017
6 | spring.data.mongodb.username=root
7 | spring.data.mongodb.password=admin
8 | spring.data.mongodb.authentication-database=admin
--------------------------------------------------------------------------------
/051. Implementa un rate-limit en tu API REST con Spring Boot/spring-rest-apirate-limit/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/051. Implementa un rate-limit en tu API REST con Spring Boot/spring-rest-apirate-limit/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/051. Implementa un rate-limit en tu API REST con Spring Boot/spring-rest-apirate-limit/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/051. Implementa un rate-limit en tu API REST con Spring Boot/spring-rest-apirate-limit/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring API Rate Limit con bucket4j
--------------------------------------------------------------------------------
/051. Implementa un rate-limit en tu API REST con Spring Boot/spring-rest-apirate-limit/src/main/java/com/example/dto/LoginRequest.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record LoginRequest(String username, String password) {
4 | }
5 |
--------------------------------------------------------------------------------
/051. Implementa un rate-limit en tu API REST con Spring Boot/spring-rest-apirate-limit/src/main/java/com/example/dto/LoginResponse.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | import java.util.List;
4 |
5 | public record LoginResponse(String username, List authorities, String token) {
6 | }
7 |
--------------------------------------------------------------------------------
/051. Implementa un rate-limit en tu API REST con Spring Boot/spring-rest-apirate-limit/src/main/java/com/example/model/UserAuthority.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public enum UserAuthority {
4 | READ, WRITE
5 | }
6 |
--------------------------------------------------------------------------------
/051. Implementa un rate-limit en tu API REST con Spring Boot/spring-rest-apirate-limit/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | app.security.jwt.secret=K3lF7QAspsGG09mbIaryP3jtRkkxC5pwTV6BtM4kU5EXYRDEkMM9dUdjlpjPrEWYM
2 | app.security.jwt.expiration=86400
3 |
--------------------------------------------------------------------------------
/052. Mejora tu API REST con Spring Boot aprovechando la librería Jackson/spring-jackson/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/052. Mejora tu API REST con Spring Boot aprovechando la librería Jackson/spring-jackson/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/052. Mejora tu API REST con Spring Boot aprovechando la librería Jackson/spring-jackson/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/052. Mejora tu API REST con Spring Boot aprovechando la librería Jackson/spring-jackson/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Funcionalidades Jackson en API REST de Spring
--------------------------------------------------------------------------------
/052. Mejora tu API REST con Spring Boot aprovechando la librería Jackson/spring-jackson/src/main/java/com/example/repository/VehicleRepository.java:
--------------------------------------------------------------------------------
1 | package com.example.repository;
2 |
3 | import com.example.model.Vehicle;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface VehicleRepository extends JpaRepository {
7 | }
--------------------------------------------------------------------------------
/052. Mejora tu API REST con Spring Boot aprovechando la librería Jackson/spring-jackson/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.jpa.open-in-view=false
2 | spring.jpa.show-sql=true
3 | #spring.jackson
--------------------------------------------------------------------------------
/053. Utiliza JSON Views para mejorar las respuestas de tu API REST con Spring Boot/spring-jackson-jsonview/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/053. Utiliza JSON Views para mejorar las respuestas de tu API REST con Spring Boot/spring-jackson-jsonview/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/053. Utiliza JSON Views para mejorar las respuestas de tu API REST con Spring Boot/spring-jackson-jsonview/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Json Views con Jackson en API REST de Spring
--------------------------------------------------------------------------------
/053. Utiliza JSON Views para mejorar las respuestas de tu API REST con Spring Boot/spring-jackson-jsonview/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/054. Spring Security Reactive/spring-security-reactive/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/054. Spring Security Reactive/spring-security-reactive/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/054. Spring Security Reactive/spring-security-reactive/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/054. Spring Security Reactive/spring-security-reactive/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Seguridad reactiva en Spring
--------------------------------------------------------------------------------
/054. Spring Security Reactive/spring-security-reactive/src/main/java/com/example/dto/Login.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record Login(String username, String password) {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/054. Spring Security Reactive/spring-security-reactive/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/054. Spring Security Reactive/spring-security-reactive/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/055. Implementa repositorios reactivos con Spring Data R2DBC/spring-data-r2dbc/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/055. Implementa repositorios reactivos con Spring Data R2DBC/spring-data-r2dbc/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/055. Implementa repositorios reactivos con Spring Data R2DBC/spring-data-r2dbc/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/055. Implementa repositorios reactivos con Spring Data R2DBC/spring-data-r2dbc/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Repositorios reactivos con Spring Data r2dbc
--------------------------------------------------------------------------------
/055. Implementa repositorios reactivos con Spring Data R2DBC/spring-data-r2dbc/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.r2dbc.url=r2dbc:postgresql://localhost:5432/spring_data_r2dbc
2 | spring.r2dbc.username=admin
3 | spring.r2dbc.password=admin
--------------------------------------------------------------------------------
/055. Implementa repositorios reactivos con Spring Data R2DBC/spring-data-r2dbc/src/main/resources/data.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO vehicles(model, cubic_centimeters, released) VALUES
2 | ('vehicle1', 3.0, 1990),
3 | ('vehicle2', 3.0, 1990);
--------------------------------------------------------------------------------
/056. Implementa repositorios reactivos con Spring Data MongoDB Reactive/spring-data-mongodb-reactive/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/056. Implementa repositorios reactivos con Spring Data MongoDB Reactive/spring-data-mongodb-reactive/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/056. Implementa repositorios reactivos con Spring Data MongoDB Reactive/spring-data-mongodb-reactive/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/056. Implementa repositorios reactivos con Spring Data MongoDB Reactive/spring-data-mongodb-reactive/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Repositorios reactivos con Spring Data MongoDB Reactive
--------------------------------------------------------------------------------
/057. Implementa rápidamente una API REST con Spring Data REST/spring-data-rest/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/057. Implementa rápidamente una API REST con Spring Data REST/spring-data-rest/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/057. Implementa rápidamente una API REST con Spring Data REST/spring-data-rest/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/057. Implementa rápidamente una API REST con Spring Data REST/spring-data-rest/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data REST: Repositorios como controladores
--------------------------------------------------------------------------------
/057. Implementa rápidamente una API REST con Spring Data REST/spring-data-rest/src/main/java/com/example/handler/ErrorMessage.java:
--------------------------------------------------------------------------------
1 | package com.example.handler;
2 |
3 | import java.util.List;
4 |
5 | public record ErrorMessage(List errors) {
6 | }
7 |
--------------------------------------------------------------------------------
/057. Implementa rápidamente una API REST con Spring Data REST/spring-data-rest/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/058. Cómo enviar un email basado en una plantilla de Thymeleaf con Spring Boot/spring-thymeleaf-email/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/058. Cómo enviar un email basado en una plantilla de Thymeleaf con Spring Boot/spring-thymeleaf-email/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/058. Cómo enviar un email basado en una plantilla de Thymeleaf con Spring Boot/spring-thymeleaf-email/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring + Thymeleaf: envío de emails
--------------------------------------------------------------------------------
/059. Websockets con Spring Boot/spring-websockets/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/059. Websockets con Spring Boot/spring-websockets/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/059. Websockets con Spring Boot/spring-websockets/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/059. Websockets con Spring Boot/spring-websockets/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring WebSockets
--------------------------------------------------------------------------------
/059. Websockets con Spring Boot/spring-websockets/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 | logging.level.root=info
3 | logging.level.org.springframework.web.socket=debug
4 | logging.level.org.springframework.messaging.simp=debug
5 |
--------------------------------------------------------------------------------
/059. Websockets con Spring Boot/spring-websockets/src/main/resources/static/main.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/059. Websockets con Spring Boot/spring-websockets/src/main/resources/static/main.css
--------------------------------------------------------------------------------
/059. Websockets con Spring Boot/spring-websockets/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/060. Implementa la subida de ficheros a una API REST con Spring Boot y MongoDB/spring-mongodb-upload-file/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/060. Implementa la subida de ficheros a una API REST con Spring Boot y MongoDB/spring-mongodb-upload-file/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/060. Implementa la subida de ficheros a una API REST con Spring Boot y MongoDB/spring-mongodb-upload-file/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Subir y guardar archivos con Spring Data MongoDB
--------------------------------------------------------------------------------
/061. Implementa OAuth 2.0 con Spring Security/spring-security-oauth-github/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/061. Implementa OAuth 2.0 con Spring Security/spring-security-oauth-github/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/061. Implementa OAuth 2.0 con Spring Security/spring-security-oauth-github/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/061. Implementa OAuth 2.0 con Spring Security/spring-security-oauth-github/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 | spring.security.oauth2.client.registration.github.client-id=cf69ad1928bff624440f
3 | spring.security.oauth2.client.registration.github.client-secret=4054417b4ef526ea2b4d0edc6a06564d7452fe38
--------------------------------------------------------------------------------
/061. Implementa OAuth 2.0 con Spring Security/spring-security-oauth-github/src/main/resources/templates/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Title
6 |
7 |
8 | Página index
9 | Go to page1
10 |
11 |
--------------------------------------------------------------------------------
/061. Implementa OAuth 2.0 con Spring Security/spring-security-oauth-github/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/062. Implementa la autenticación en dos pasos con Spring Boot/spring-security-2fa/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/062. Implementa la autenticación en dos pasos con Spring Boot/spring-security-2fa/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/062. Implementa la autenticación en dos pasos con Spring Boot/spring-security-2fa/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/062. Implementa la autenticación en dos pasos con Spring Boot/spring-security-2fa/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Security: seguridad en dos pasos 2FA
--------------------------------------------------------------------------------
/062. Implementa la autenticación en dos pasos con Spring Boot/spring-security-2fa/src/main/java/com/example/controller/VerificationCodeException.java:
--------------------------------------------------------------------------------
1 | package com.example.controller;
2 |
3 | public class VerificationCodeException extends RuntimeException {
4 | public VerificationCodeException(String msg) {
5 | super(msg);
6 | }
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/062. Implementa la autenticación en dos pasos con Spring Boot/spring-security-2fa/src/main/java/com/example/repository/AccountRepository.java:
--------------------------------------------------------------------------------
1 | package com.example.repository;
2 |
3 |
4 | import com.example.model.Account;
5 |
6 | public interface AccountRepository {
7 | Account find(String username);
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/062. Implementa la autenticación en dos pasos con Spring Boot/spring-security-2fa/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/063. Mejora la seguridad de tu aplicación Spring Boot/spring-security-authprovider/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/063. Mejora la seguridad de tu aplicación Spring Boot/spring-security-authprovider/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/063. Mejora la seguridad de tu aplicación Spring Boot/spring-security-authprovider/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/063. Mejora la seguridad de tu aplicación Spring Boot/spring-security-authprovider/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Security: Personalizar la seguridad
3 |
4 | Comprobación de ips
--------------------------------------------------------------------------------
/063. Mejora la seguridad de tu aplicación Spring Boot/spring-security-authprovider/src/main/java/com/example/model/UserAuthority.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public enum UserAuthority {
4 | READ, WRITE
5 | }
6 |
--------------------------------------------------------------------------------
/063. Mejora la seguridad de tu aplicación Spring Boot/spring-security-authprovider/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/064. Implementa un mecanismo de Remember me en tu aplicación web con Spring Boot/spring-security-remember-me/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/064. Implementa un mecanismo de Remember me en tu aplicación web con Spring Boot/spring-security-remember-me/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/064. Implementa un mecanismo de Remember me en tu aplicación web con Spring Boot/spring-security-remember-me/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Security: mecanismo Remember me
--------------------------------------------------------------------------------
/064. Implementa un mecanismo de Remember me en tu aplicación web con Spring Boot/spring-security-remember-me/src/main/java/com/example/model/UserAuthority.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public enum UserAuthority {
4 | READ, WRITE
5 | }
6 |
--------------------------------------------------------------------------------
/065. Seguridad a nivel de método en tu aplicación con Spring Boot/spring-security-method/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/065. Seguridad a nivel de método en tu aplicación con Spring Boot/spring-security-method/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/065. Seguridad a nivel de método en tu aplicación con Spring Boot/spring-security-method/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/065. Seguridad a nivel de método en tu aplicación con Spring Boot/spring-security-method/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Security: JSR 250 seguridad a nivel de métodos
--------------------------------------------------------------------------------
/065. Seguridad a nivel de método en tu aplicación con Spring Boot/spring-security-method/src/main/java/com/example/model/Employee.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public record Employee(Long id, String username, Integer age) {
4 | }
5 |
--------------------------------------------------------------------------------
/065. Seguridad a nivel de método en tu aplicación con Spring Boot/spring-security-method/src/main/java/com/example/model/Task.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public record Task(Long id, String name, String username) {
4 | }
5 |
--------------------------------------------------------------------------------
/065. Seguridad a nivel de método en tu aplicación con Spring Boot/spring-security-method/src/main/java/com/example/model/Vehicle.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public record Vehicle(Long id, String manufacturer, String owner) {
4 | }
5 |
--------------------------------------------------------------------------------
/065. Seguridad a nivel de método en tu aplicación con Spring Boot/spring-security-method/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/066. Utiliza Spring Security en los test de tu aplicación con Spring Boot/spring-security-test/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/066. Utiliza Spring Security en los test de tu aplicación con Spring Boot/spring-security-test/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/066. Utiliza Spring Security en los test de tu aplicación con Spring Boot/spring-security-test/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/066. Utiliza Spring Security en los test de tu aplicación con Spring Boot/spring-security-test/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Security: Testing
--------------------------------------------------------------------------------
/066. Utiliza Spring Security en los test de tu aplicación con Spring Boot/spring-security-test/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/067. Implementa un mecanismo de registro protegido por captcha/spring-captcha/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/067. Implementa un mecanismo de registro protegido por captcha/spring-captcha/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/067. Implementa un mecanismo de registro protegido por captcha/spring-captcha/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/067. Implementa un mecanismo de registro protegido por captcha/spring-captcha/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring AOP: Implementación de mecanismo captcha
--------------------------------------------------------------------------------
/067. Implementa un mecanismo de registro protegido por captcha/spring-captcha/src/main/java/com/example/dto/HelloDTO.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record HelloDTO(String name) {
4 | }
5 |
--------------------------------------------------------------------------------
/067. Implementa un mecanismo de registro protegido por captcha/spring-captcha/src/main/java/com/example/dto/HelloResponseDTO.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record HelloResponseDTO(String message) {
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/067. Implementa un mecanismo de registro protegido por captcha/spring-captcha/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=80
2 | google.recaptcha.secret=6Lc67RwiAAAAAMPNE80osph-t8OB7DrJvKdw10MT
--------------------------------------------------------------------------------
/068. Implementa SSO con Spring Boot y Google/spring-security-oauth-google/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Security: Single Sign On en múltiples aplicaciones
--------------------------------------------------------------------------------
/068. Implementa SSO con Spring Boot y Google/spring-security-oauth-google/app1/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/068. Implementa SSO con Spring Boot y Google/spring-security-oauth-google/app1/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/068. Implementa SSO con Spring Boot y Google/spring-security-oauth-google/app1/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/068. Implementa SSO con Spring Boot y Google/spring-security-oauth-google/app2/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/068. Implementa SSO con Spring Boot y Google/spring-security-oauth-google/app2/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/068. Implementa SSO con Spring Boot y Google/spring-security-oauth-google/app2/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/069. Implementa SSO con Spring Boot y GitHub/spring-security-oauth-sso-github/README.md:
--------------------------------------------------------------------------------
1 | # Spring Security: Single Sign On en múltiples aplicaciones
--------------------------------------------------------------------------------
/069. Implementa SSO con Spring Boot y GitHub/spring-security-oauth-sso-github/app1/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/069. Implementa SSO con Spring Boot y GitHub/spring-security-oauth-sso-github/app1/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/069. Implementa SSO con Spring Boot y GitHub/spring-security-oauth-sso-github/app1/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/069. Implementa SSO con Spring Boot y GitHub/spring-security-oauth-sso-github/app1/README.md:
--------------------------------------------------------------------------------
1 |
2 | 1. https://github.com/settings/developers
3 | 2. Crear OAuth app
4 | 3. Generar secret por cada aplicación spring
--------------------------------------------------------------------------------
/069. Implementa SSO con Spring Boot y GitHub/spring-security-oauth-sso-github/app2/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/069. Implementa SSO con Spring Boot y GitHub/spring-security-oauth-sso-github/app2/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/069. Implementa SSO con Spring Boot y GitHub/spring-security-oauth-sso-github/app2/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/069. Implementa SSO con Spring Boot y GitHub/spring-security-oauth-sso-github/app2/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | server.port=8081
2 | spring.security.oauth2.client.registration.github.client-id=3f487e8df0be863c0ad3
3 | spring.security.oauth2.client.registration.github.client-secret=18c94d6620215b827c15c7ca15c67c0527475adb
4 |
--------------------------------------------------------------------------------
/070. Despliega tu aplicación Spring Boot con Docker/spring-docker/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/070. Despliega tu aplicación Spring Boot con Docker/spring-docker/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/070. Despliega tu aplicación Spring Boot con Docker/spring-docker/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/070. Despliega tu aplicación Spring Boot con Docker/spring-docker/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Docker: Empaquetado de aplicación Spring Boot
--------------------------------------------------------------------------------
/070. Despliega tu aplicación Spring Boot con Docker/spring-docker/src/main/java/com/example/model/Customer.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public record Customer(Long id, String name) {
4 | }
5 |
--------------------------------------------------------------------------------
/070. Despliega tu aplicación Spring Boot con Docker/spring-docker/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/070. Despliega tu aplicación Spring Boot con Docker/spring-docker/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Docker Compose: empaquetado de aplicación Spring Boot + Angular
--------------------------------------------------------------------------------
/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/backend/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/backend/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/backend/src/main/java/com/example/BookRepository.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.springframework.data.jpa.repository.JpaRepository;
4 |
5 | public interface BookRepository extends JpaRepository {
6 | }
--------------------------------------------------------------------------------
/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/frontend/src/app/app.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/frontend/src/app/app.component.css
--------------------------------------------------------------------------------
/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/frontend/src/app/models/book.spec.ts:
--------------------------------------------------------------------------------
1 | import { Book } from './book';
2 |
3 | describe('Book', () => {
4 | it('should create an instance', () => {
5 | expect(new Book()).toBeTruthy();
6 | });
7 | });
8 |
--------------------------------------------------------------------------------
/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/frontend/src/app/models/book.ts:
--------------------------------------------------------------------------------
1 | export class Book {
2 | id?: any;
3 | title?: string;
4 | }
5 |
--------------------------------------------------------------------------------
/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/frontend/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/frontend/src/assets/.gitkeep
--------------------------------------------------------------------------------
/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/frontend/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/frontend/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/frontend/src/favicon.ico
--------------------------------------------------------------------------------
/071. Despliega con Docker Compose tu aplicación Spring Boot + Angular + PostgreSQL/spring-docker-compose/frontend/src/styles.css:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/072. Externaliza la configuración de tu aplicación con Spring Boot/spring-cloud-config/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/072. Externaliza la configuración de tu aplicación con Spring Boot/spring-cloud-config/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/072. Externaliza la configuración de tu aplicación con Spring Boot/spring-cloud-config/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/072. Externaliza la configuración de tu aplicación con Spring Boot/spring-cloud-config/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Cloud: Microservicio de configuración
--------------------------------------------------------------------------------
/073. Despliega tu aplicación Spring Boot en AWS EC2/spring-docker/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/073. Despliega tu aplicación Spring Boot en AWS EC2/spring-docker/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/073. Despliega tu aplicación Spring Boot en AWS EC2/spring-docker/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/073. Despliega tu aplicación Spring Boot en AWS EC2/spring-docker/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Despliegue AWS: despliegue de aplicación Spring Boot con Docker
--------------------------------------------------------------------------------
/073. Despliega tu aplicación Spring Boot en AWS EC2/spring-docker/src/main/java/com/example/model/Customer.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public record Customer(Long id, String name) {
4 | }
5 |
--------------------------------------------------------------------------------
/073. Despliega tu aplicación Spring Boot en AWS EC2/spring-docker/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/073. Despliega tu aplicación Spring Boot en AWS EC2/spring-docker/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class AppTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Cloud: arquitectura de microservicios
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/customers-service/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/074. Introducción a los microservicios con Spring Cloud/spring-cloud/customers-service/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/customers-service/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/customers-service/src/main/java/com/example/dto/DirectionDTO.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record DirectionDTO(Long id, String street) {
4 | }
5 |
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/customers-service/src/main/java/com/example/exception/BusinessException.java:
--------------------------------------------------------------------------------
1 | package com.example.exception;
2 |
3 | public class BusinessException extends RuntimeException {
4 |
5 | public BusinessException(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/customers-service/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 |
2 | spring:
3 | cloud:
4 | config:
5 | uri: http://localhost:8888
6 | application:
7 | name: customers-service
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/directions-service/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/074. Introducción a los microservicios con Spring Cloud/spring-cloud/directions-service/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/directions-service/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/directions-service/src/main/java/com/example/dto/DirectionDTO.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record DirectionDTO(Long id, String street) {
4 | }
5 |
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/directions-service/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 |
2 | spring:
3 | cloud:
4 | config:
5 | uri: http://localhost:8888
6 | application:
7 | name: directions-service
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-cloud-eureka/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-cloud-eureka/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-cloud-eureka/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-cloud-gateway/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-cloud-gateway/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-cloud-gateway/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-cloud-gateway/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | cloud:
3 | config:
4 | uri: http://localhost:8888
5 | application:
6 | name: gateway
7 |
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-config-external/microservice1/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-config-external/microservice1/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-config-external/microservice1/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | application:
3 | name: microservice1
4 | cloud:
5 | config:
6 | uri: http://localhost:8888
7 |
8 | app.message: hola desde archivo local
--------------------------------------------------------------------------------
/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-config-external/spring-cloud-config/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/074. Introducción a los microservicios con Spring Cloud/spring-cloud/spring-config-external/spring-cloud-config/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Cloud: arquitectura de microservicios
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/customers-service/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/customers-service/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/customers-service/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/customers-service/src/main/java/com/example/dto/DirectionDTO.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record DirectionDTO(Long id, String street) {
4 | }
5 |
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/customers-service/src/main/java/com/example/exception/BusinessException.java:
--------------------------------------------------------------------------------
1 | package com.example.exception;
2 |
3 | public class BusinessException extends RuntimeException {
4 |
5 | public BusinessException(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/customers-service/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 |
2 | spring:
3 | cloud:
4 | config:
5 | uri: http://localhost:8888
6 | application:
7 | name: customers-service
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/directions-service/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/directions-service/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/directions-service/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/directions-service/src/main/java/com/example/dto/DirectionDTO.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record DirectionDTO(Long id, String street) {
4 | }
5 |
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/directions-service/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 |
2 | spring:
3 | cloud:
4 | config:
5 | uri: http://localhost:8888
6 | application:
7 | name: directions-service
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/spring-cloud-eureka/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/spring-cloud-eureka/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/spring-cloud-gateway/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/spring-cloud-gateway/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/spring-cloud-gateway/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | cloud:
3 | config:
4 | uri: http://localhost:8888
5 | application:
6 | name: gateway
7 |
--------------------------------------------------------------------------------
/075. Mejora tus microservicios con Spring Cloud usando Resilience4j/spring-cloud/spring-config-external/microservice1/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | application:
3 | name: microservice1
4 | cloud:
5 | config:
6 | uri: http://localhost:8888
7 |
8 | app.message: hola desde archivo local
--------------------------------------------------------------------------------
/076. Incluye seguridad en tus microservicios con Spring Cloud Gateway/spring-security-microservices/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Cloud: seguridad en arquitecturas de microservicios
--------------------------------------------------------------------------------
/076. Incluye seguridad en tus microservicios con Spring Cloud Gateway/spring-security-microservices/product-service/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 | server.port=8081
3 | spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://localhost:8090/realms/realm1/protocol/openid-connect/certs
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Cloud: comunicación entre microservicios usando OpenFeign
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/customers-service/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/customers-service/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/customers-service/src/main/java/com/example/dto/DirectionDTO.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record DirectionDTO(Long id, String street) {
4 | }
5 |
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/customers-service/src/main/java/com/example/exception/BusinessException.java:
--------------------------------------------------------------------------------
1 | package com.example.exception;
2 |
3 | public class BusinessException extends RuntimeException {
4 |
5 | public BusinessException(String message) {
6 | super(message);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/customers-service/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 |
2 | spring:
3 | cloud:
4 | config:
5 | uri: http://localhost:8888
6 | application:
7 | name: customers-service
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/directions-service/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/directions-service/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/directions-service/src/main/java/com/example/dto/DirectionDTO.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record DirectionDTO(Long id, String street) {
4 | }
5 |
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/directions-service/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 |
2 | spring:
3 | cloud:
4 | config:
5 | uri: http://localhost:8888
6 | application:
7 | name: directions-service
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/spring-cloud-eureka/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/spring-cloud-eureka/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/spring-cloud-gateway/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/spring-cloud-gateway/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/spring-cloud-gateway/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | cloud:
3 | config:
4 | uri: http://localhost:8888
5 | application:
6 | name: gateway
7 |
--------------------------------------------------------------------------------
/077. Conecta tu aplicación Spring Boot con otros microservicios usando OpenFeign/spring-cloud/spring-config-external/microservice1/src/main/resources/bootstrap.yml:
--------------------------------------------------------------------------------
1 | spring:
2 | application:
3 | name: microservice1
4 | cloud:
5 | config:
6 | uri: http://localhost:8888
7 |
8 | app.message: hola desde archivo local
--------------------------------------------------------------------------------
/078. Utiliza Apache Kafka con tu aplicación Spring Boot/spring-kafka-producer/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/078. Utiliza Apache Kafka con tu aplicación Spring Boot/spring-kafka-producer/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/078. Utiliza Apache Kafka con tu aplicación Spring Boot/spring-kafka-producer/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/078. Utiliza Apache Kafka con tu aplicación Spring Boot/spring-kafka-producer/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Kafka: Creación de un Producer
--------------------------------------------------------------------------------
/079. Spring Batch/spring-batch/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/079. Spring Batch/spring-batch/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/079. Spring Batch/spring-batch/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/079. Spring Batch/spring-batch/README.md:
--------------------------------------------------------------------------------
1 | # Spring Batch: escritura masiva de datos
--------------------------------------------------------------------------------
/079. Spring Batch/spring-batch/src/test/java/com/example/SpringBatchApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class SpringBatchApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/080. Consultas usando QueryDSL con Spring Data JPA/spring-data-jpa-querydsl/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/080. Consultas usando QueryDSL con Spring Data JPA/spring-data-jpa-querydsl/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/080. Consultas usando QueryDSL con Spring Data JPA/spring-data-jpa-querydsl/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/080. Consultas usando QueryDSL con Spring Data JPA/spring-data-jpa-querydsl/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: consultas con QueryDSL
--------------------------------------------------------------------------------
/080. Consultas usando QueryDSL con Spring Data JPA/spring-data-jpa-querydsl/src/main/java/com/example/repository/AddressRepository.java:
--------------------------------------------------------------------------------
1 | package com.example.repository;
2 |
3 | import com.example.model.Address;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface AddressRepository extends JpaRepository {
7 | }
--------------------------------------------------------------------------------
/080. Consultas usando QueryDSL con Spring Data JPA/spring-data-jpa-querydsl/src/main/java/com/example/repository/BookRepository.java:
--------------------------------------------------------------------------------
1 | package com.example.repository;
2 |
3 | import com.example.model.Book;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | public interface BookRepository extends JpaRepository {
7 | }
--------------------------------------------------------------------------------
/080. Consultas usando QueryDSL con Spring Data JPA/spring-data-jpa-querydsl/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/081. Crea un filtro para tu API REST con Spring Boot/spring-data-jpa-rest-querydsl/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/081. Crea un filtro para tu API REST con Spring Boot/spring-data-jpa-rest-querydsl/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/081. Crea un filtro para tu API REST con Spring Boot/spring-data-jpa-rest-querydsl/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/081. Crea un filtro para tu API REST con Spring Boot/spring-data-jpa-rest-querydsl/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: filtros en API REST con QueryDSL
--------------------------------------------------------------------------------
/081. Crea un filtro para tu API REST con Spring Boot/spring-data-jpa-rest-querydsl/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/082. Configura varios orígenes de datos diferentes para tu proyecto con Spring Data JPA/spring-data-jpa-datasource-multiple/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data JPA: múltiples DataSource
3 |
4 | Conexión con múltiples bases de datos desde una misma aplicación Spring Boot.
--------------------------------------------------------------------------------
/083. Utiliza Redis como Message Broker para tus microservicios con Spring Boot/spring-redis-messaging/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Data Redis: arquitectura Publisher - Subscriber
3 |
4 | Usando Redis como middleware Message Broker para el envío de mensajes.
--------------------------------------------------------------------------------
/083. Utiliza Redis como Message Broker para tus microservicios con Spring Boot/spring-redis-messaging/publisher/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/083. Utiliza Redis como Message Broker para tus microservicios con Spring Boot/spring-redis-messaging/publisher/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/083. Utiliza Redis como Message Broker para tus microservicios con Spring Boot/spring-redis-messaging/publisher/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 | redis:
4 | container_name: redis
5 | hostname: redis
6 | image: redis
7 | ports:
8 | - "6379:6379"
9 |
10 | # docker-compose up -d
--------------------------------------------------------------------------------
/083. Utiliza Redis como Message Broker para tus microservicios con Spring Boot/spring-redis-messaging/publisher/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/083. Utiliza Redis como Message Broker para tus microservicios con Spring Boot/spring-redis-messaging/subscriber/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/083. Utiliza Redis como Message Broker para tus microservicios con Spring Boot/spring-redis-messaging/subscriber/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/083. Utiliza Redis como Message Broker para tus microservicios con Spring Boot/spring-redis-messaging/subscriber/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | #spring.redis.
2 | server.port=8090
--------------------------------------------------------------------------------
/084. Cómo implementar el versionado de tu API REST con Spring Boot/spring-rest-versioning/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/084. Cómo implementar el versionado de tu API REST con Spring Boot/spring-rest-versioning/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/084. Cómo implementar el versionado de tu API REST con Spring Boot/spring-rest-versioning/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/084. Cómo implementar el versionado de tu API REST con Spring Boot/spring-rest-versioning/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring API REST versionado
3 |
4 | Estrategias de versionado para API REST con Spring.
--------------------------------------------------------------------------------
/084. Cómo implementar el versionado de tu API REST con Spring Boot/spring-rest-versioning/src/main/java/com/example/model/Company.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public record Company(Long id, String name) {
4 | }
5 |
--------------------------------------------------------------------------------
/084. Cómo implementar el versionado de tu API REST con Spring Boot/spring-rest-versioning/src/main/java/com/example/model/Employee.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public record Employee(Long id, String name) {
4 | }
5 |
--------------------------------------------------------------------------------
/084. Cómo implementar el versionado de tu API REST con Spring Boot/spring-rest-versioning/src/main/java/com/example/model/Vehicle.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public record Vehicle(Long id, String name) {
4 | }
5 |
--------------------------------------------------------------------------------
/084. Cómo implementar el versionado de tu API REST con Spring Boot/spring-rest-versioning/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/085. Cómo filtrar la salida de tu API REST según el rol de usuario de Spring Security/spring-security-jsonview/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/085. Cómo filtrar la salida de tu API REST según el rol de usuario de Spring Security/spring-security-jsonview/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/085. Cómo filtrar la salida de tu API REST según el rol de usuario de Spring Security/spring-security-jsonview/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Security: Jackson Json Views para filtrar la salida en función del usuario
--------------------------------------------------------------------------------
/085. Cómo filtrar la salida de tu API REST según el rol de usuario de Spring Security/spring-security-jsonview/src/main/java/com/example/model/Role.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public enum Role {
4 | ROLE_ADMIN, ROLE_MANAGER, ROLE_USER
5 | }
6 |
--------------------------------------------------------------------------------
/085. Cómo filtrar la salida de tu API REST según el rol de usuario de Spring Security/spring-security-jsonview/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/086. Implementa la seguridad de tu API REST con Spring Security y LDAP/spring-security-ldap/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/086. Implementa la seguridad de tu API REST con Spring Security y LDAP/spring-security-ldap/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/086. Implementa la seguridad de tu API REST con Spring Security y LDAP/spring-security-ldap/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/086. Implementa la seguridad de tu API REST con Spring Security y LDAP/spring-security-ldap/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | #spring.ldap.embedded.ldif=classpath:users.ldif
2 | #spring.ldap.*
--------------------------------------------------------------------------------
/087. Implementa una API Reactiva con Spring WebFlux y R2DBC/spring-webflux-r2dbc/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/087. Implementa una API Reactiva con Spring WebFlux y R2DBC/spring-webflux-r2dbc/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/087. Implementa una API Reactiva con Spring WebFlux y R2DBC/spring-webflux-r2dbc/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/087. Implementa una API Reactiva con Spring WebFlux y R2DBC/spring-webflux-r2dbc/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring WebFlux + Spring Data r2dbc
--------------------------------------------------------------------------------
/087. Implementa una API Reactiva con Spring WebFlux y R2DBC/spring-webflux-r2dbc/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3"
2 | services:
3 | postgres:
4 | image: postgres:14.5
5 | container_name: postgres
6 | environment:
7 | - POSTGRES_USER=admin
8 | - POSTGRES_PASSWORD=admin
9 | - POSTGRES_DB=spring_r2dbc
10 | ports:
11 | - 5432:5432
--------------------------------------------------------------------------------
/087. Implementa una API Reactiva con Spring WebFlux y R2DBC/spring-webflux-r2dbc/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.r2dbc.url=r2dbc:postgresql://localhost:5432/spring_r2dbc
2 | spring.r2dbc.username=admin
3 | spring.r2dbc.password=admin
4 |
--------------------------------------------------------------------------------
/088. Implementa una API Reactiva con Spring WebFlux y R2DBC con Kotlin/spring-webflux-r2dbc-kotlin/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/088. Implementa una API Reactiva con Spring WebFlux y R2DBC con Kotlin/spring-webflux-r2dbc-kotlin/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/088. Implementa una API Reactiva con Spring WebFlux y R2DBC con Kotlin/spring-webflux-r2dbc-kotlin/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/088. Implementa una API Reactiva con Spring WebFlux y R2DBC con Kotlin/spring-webflux-r2dbc-kotlin/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring WebFlux + Spring Data r2dbc + Kotlin
--------------------------------------------------------------------------------
/088. Implementa una API Reactiva con Spring WebFlux y R2DBC con Kotlin/spring-webflux-r2dbc-kotlin/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.r2dbc.url=r2dbc:postgresql://localhost:5432/spring_r2dbc
2 | spring.r2dbc.username=admin
3 | spring.r2dbc.password=admin
--------------------------------------------------------------------------------
/089. Implementa una API Reactiva con Spring WebFlux y MongoDB/spring-webflux-mongo-reactive/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/089. Implementa una API Reactiva con Spring WebFlux y MongoDB/spring-webflux-mongo-reactive/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/089. Implementa una API Reactiva con Spring WebFlux y MongoDB/spring-webflux-mongo-reactive/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/089. Implementa una API Reactiva con Spring WebFlux y MongoDB/spring-webflux-mongo-reactive/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring WebFlux + Spring Data MongoDB Reactive
--------------------------------------------------------------------------------
/089. Implementa una API Reactiva con Spring WebFlux y MongoDB/spring-webflux-mongo-reactive/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.data.mongodb.host=localhost
2 | spring.data.mongodb.port=27017
3 | spring.data.mongodb.database=spring_db
4 | spring.data.mongodb.username=root
5 | spring.data.mongodb.password=admin
6 | spring.data.mongodb.authentication-database=admin
--------------------------------------------------------------------------------
/090. Implementa una API Reactiva con Spring WebFlux y MongoDB con Kotlin/spring-webflux-mongo-reactive-kotlin/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/090. Implementa una API Reactiva con Spring WebFlux y MongoDB con Kotlin/spring-webflux-mongo-reactive-kotlin/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/090. Implementa una API Reactiva con Spring WebFlux y MongoDB con Kotlin/spring-webflux-mongo-reactive-kotlin/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring WebFlux + Spring Data MongoDB Reactive + Kotlin
--------------------------------------------------------------------------------
/091. Implementa una aplicación de chat en tiempo real con Spring Boot y WebSocket/spring-websockets-chat/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/091. Implementa una aplicación de chat en tiempo real con Spring Boot y WebSocket/spring-websockets-chat/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/091. Implementa una aplicación de chat en tiempo real con Spring Boot y WebSocket/spring-websockets-chat/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring WebSockets: Chat App
--------------------------------------------------------------------------------
/091. Implementa una aplicación de chat en tiempo real con Spring Boot y WebSocket/spring-websockets-chat/src/main/java/com/example/dto/ChatMessage.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record ChatMessage(String username, String body) {
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/091. Implementa una aplicación de chat en tiempo real con Spring Boot y WebSocket/spring-websockets-chat/src/main/java/com/example/dto/JoinMessage.java:
--------------------------------------------------------------------------------
1 | package com.example.dto;
2 |
3 | public record JoinMessage(String username) {
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/091. Implementa una aplicación de chat en tiempo real con Spring Boot y WebSocket/spring-websockets-chat/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/091. Implementa una aplicación de chat en tiempo real con Spring Boot y WebSocket/spring-websockets-chat/src/main/resources/static/main.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/091. Implementa una aplicación de chat en tiempo real con Spring Boot y WebSocket/spring-websockets-chat/src/main/resources/static/main.css
--------------------------------------------------------------------------------
/092. Implementa una API REST segura con Spring Boot y Keycloak/spring-security-keycloak/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/092. Implementa una API REST segura con Spring Boot y Keycloak/spring-security-keycloak/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/092. Implementa una API REST segura con Spring Boot y Keycloak/spring-security-keycloak/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/092. Implementa una API REST segura con Spring Boot y Keycloak/spring-security-keycloak/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | keycloak.auth-server-url=http://localhost:8090
2 | keycloak.realm=realm1
3 | keycloak.resource=client1
4 | keycloak.public-client=true
5 | keycloak.principal-attribute=preferred_username
6 |
--------------------------------------------------------------------------------
/093. Implementa la seguridad de tu API REST con Spring Boot, OAuth2 y Keycloak/spring-security-oauth-keycloak/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/093. Implementa la seguridad de tu API REST con Spring Boot, OAuth2 y Keycloak/spring-security-oauth-keycloak/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/094. Implementa la seguridad de tu API REST con Spring Boot, OAuth2 y Okta/spring-oauth-okta/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/094. Implementa la seguridad de tu API REST con Spring Boot, OAuth2 y Okta/spring-oauth-okta/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/094. Implementa la seguridad de tu API REST con Spring Boot, OAuth2 y Okta/spring-oauth-okta/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/095. Utiliza SpEL para manejar la seguridad a nivel de método de tu API REST con Spring Boot/spring-security-spel/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/095. Utiliza SpEL para manejar la seguridad a nivel de método de tu API REST con Spring Boot/spring-security-spel/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/095. Utiliza SpEL para manejar la seguridad a nivel de método de tu API REST con Spring Boot/spring-security-spel/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Security: expresiones SpEL
--------------------------------------------------------------------------------
/095. Utiliza SpEL para manejar la seguridad a nivel de método de tu API REST con Spring Boot/spring-security-spel/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/096. Autenticación X.509 con Spring Security/spring-mtls/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring: mutual TLS con certificados
--------------------------------------------------------------------------------
/096. Autenticación X.509 con Spring Security/spring-mtls/server1/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/096. Autenticación X.509 con Spring Security/spring-mtls/server1/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/096. Autenticación X.509 con Spring Security/spring-mtls/server1/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/096. Autenticación X.509 con Spring Security/spring-mtls/server1/src/main/resources/s1_ks.p12:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/096. Autenticación X.509 con Spring Security/spring-mtls/server1/src/main/resources/s1_ks.p12
--------------------------------------------------------------------------------
/096. Autenticación X.509 con Spring Security/spring-mtls/server1/src/main/resources/s1_ts.p12:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/096. Autenticación X.509 con Spring Security/spring-mtls/server1/src/main/resources/s1_ts.p12
--------------------------------------------------------------------------------
/096. Autenticación X.509 con Spring Security/spring-mtls/server2/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/096. Autenticación X.509 con Spring Security/spring-mtls/server2/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/096. Autenticación X.509 con Spring Security/spring-mtls/server2/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/096. Autenticación X.509 con Spring Security/spring-mtls/server2/src/main/resources/s2_ks.p12:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/096. Autenticación X.509 con Spring Security/spring-mtls/server2/src/main/resources/s2_ks.p12
--------------------------------------------------------------------------------
/096. Autenticación X.509 con Spring Security/spring-mtls/server2/src/main/resources/s2_ts.p12:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/096. Autenticación X.509 con Spring Security/spring-mtls/server2/src/main/resources/s2_ts.p12
--------------------------------------------------------------------------------
/097. Ejecuta tu aplicación Spring Boot con imágenes nativas de GraalVM/spring-native/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/097. Ejecuta tu aplicación Spring Boot con imágenes nativas de GraalVM/spring-native/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/097. Ejecuta tu aplicación Spring Boot con imágenes nativas de GraalVM/spring-native/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/097. Ejecuta tu aplicación Spring Boot con imágenes nativas de GraalVM/spring-native/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:17-jammy
2 | ARG JAR_FILE=target/*.jar
3 | COPY ${JAR_FILE} app.jar
4 | ENTRYPOINT ["java","-jar","/app.jar"]
5 | # docker build -t springapp:1.0 .
6 | # docker run --name springapp -p 8080:8080 springapp:1.0
--------------------------------------------------------------------------------
/097. Ejecuta tu aplicación Spring Boot con imágenes nativas de GraalVM/spring-native/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/098. Despliega tus microservicios con Spring Cloud Azure/spring-cloud-azure/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Cloud: Azure Toolkit for IntelliJ IDEA
--------------------------------------------------------------------------------
/098. Despliega tus microservicios con Spring Cloud Azure/spring-cloud-azure/app1/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/098. Despliega tus microservicios con Spring Cloud Azure/spring-cloud-azure/app1/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/098. Despliega tus microservicios con Spring Cloud Azure/spring-cloud-azure/app1/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/098. Despliega tus microservicios con Spring Cloud Azure/spring-cloud-azure/app1/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/098. Despliega tus microservicios con Spring Cloud Azure/spring-cloud-azure/app2/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/098. Despliega tus microservicios con Spring Cloud Azure/spring-cloud-azure/app2/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/098. Despliega tus microservicios con Spring Cloud Azure/spring-cloud-azure/app2/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/098. Despliega tus microservicios con Spring Cloud Azure/spring-cloud-azure/app2/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/099. Despliega tus microservicios con Spring Cloud Kubernetes/spring-cloud-kubernetes/app1/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/099. Despliega tus microservicios con Spring Cloud Kubernetes/spring-cloud-kubernetes/app1/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/099. Despliega tus microservicios con Spring Cloud Kubernetes/spring-cloud-kubernetes/app1/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/099. Despliega tus microservicios con Spring Cloud Kubernetes/spring-cloud-kubernetes/app1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM eclipse-temurin:17-jre
2 | COPY target/*.jar app.jar
3 | ENTRYPOINT ["java","-jar","/app.jar"]
--------------------------------------------------------------------------------
/099. Despliega tus microservicios con Spring Cloud Kubernetes/spring-cloud-kubernetes/app1/deployment-config.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: app1
5 | data:
6 | application.properties: |-
7 | bean.message1=Hello1 from ConfigMap
8 | bean.message2=Hello2 from ConfigMap
--------------------------------------------------------------------------------
/100. Spring Cloud Stream/spring-cloud-stream-processor/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/100. Spring Cloud Stream/spring-cloud-stream-processor/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/100. Spring Cloud Stream/spring-cloud-stream-processor/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/100. Spring Cloud Stream/spring-cloud-stream-processor/README.md:
--------------------------------------------------------------------------------
1 | # Spring Cloud Stream Processor con Apache Kafka
--------------------------------------------------------------------------------
/101. Spring Cloud Data Flow/batchsamples/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.1/apache-maven-3.6.1-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar
3 |
--------------------------------------------------------------------------------
/101. Spring Cloud Data Flow/batchsamples/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Spring Cloud Data Flow
--------------------------------------------------------------------------------
/101. Spring Cloud Data Flow/batchsamples/billrun/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/101. Spring Cloud Data Flow/batchsamples/billrun/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | logging.level.org.springframework.cloud.task=debug
2 | spring.datasource.initialization-mode=always
3 | spring.batch.initialize-schema=always
4 | spring.application.name=Bill Run
5 |
--------------------------------------------------------------------------------
/101. Spring Cloud Data Flow/batchsamples/billrun/src/main/resources/schema.sql:
--------------------------------------------------------------------------------
1 | CREATE TABLE IF NOT EXISTS BILL_STATEMENTS
2 | (
3 | id int,
4 | first_name varchar(50),
5 | last_name varchar(50),
6 | minutes int,
7 | data_usage int,
8 | bill_amount decimal(10,2)
9 | );
--------------------------------------------------------------------------------
/101. Spring Cloud Data Flow/batchsamples/billsetuptask/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
2 |
--------------------------------------------------------------------------------
/101. Spring Cloud Data Flow/batchsamples/billsetuptask/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | logging.level.org.springframework.cloud.task=debug
2 | spring.application.name=Bill Setup Task
3 |
--------------------------------------------------------------------------------
/102. Spring Cloud Function/spring-cloud-function/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/102. Spring Cloud Function/spring-cloud-function/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/102. Spring Cloud Function/spring-cloud-function/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/102. Spring Cloud Function/spring-cloud-function/README.md:
--------------------------------------------------------------------------------
1 | # Spring Cloud Function con AWS
2 |
3 | Handler para AWS Lambda:
4 |
5 | org.springframework.cloud.function.adapter.aws.FunctionInvoker::handleRequest
--------------------------------------------------------------------------------
/102. Spring Cloud Function/spring-cloud-function/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.cloud.function.definition=reverse
--------------------------------------------------------------------------------
/103. Ecommerce/ecommerce/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/103. Ecommerce/ecommerce/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/103. Ecommerce/ecommerce/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/103. Ecommerce/ecommerce/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Creando una aplicación de e-commerce con Spring
--------------------------------------------------------------------------------
/103. Ecommerce/ecommerce/src/main/java/com/example/model/UserAuthority.java:
--------------------------------------------------------------------------------
1 | package com.example.model;
2 |
3 | public enum UserAuthority {
4 | ADMIN, USER
5 | }
6 |
--------------------------------------------------------------------------------
/103. Ecommerce/ecommerce/src/test/java/com/example/AppTests.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 | @SpringBootTest
6 | class AppTests {
7 |
8 | @Test
9 | void contextLoads() {
10 |
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/103. Ecommerce/ecommerce/uploads/1671734489664_bookstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/103. Ecommerce/ecommerce/uploads/1671734489664_bookstore.png
--------------------------------------------------------------------------------
/103. Ecommerce/ecommerce/uploads/1671734614359_bookstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/103. Ecommerce/ecommerce/uploads/1671734614359_bookstore.png
--------------------------------------------------------------------------------
/103. Ecommerce/ecommerce/uploads/1671734684304_bookstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/103. Ecommerce/ecommerce/uploads/1671734684304_bookstore.png
--------------------------------------------------------------------------------
/103. Ecommerce/spring-c09-web-flights/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/certidevs/spring/c35f158bd89184c1ee5f6a33378008010790737b/103. Ecommerce/spring-c09-web-flights/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/103. Ecommerce/spring-c09-web-flights/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
3 |
--------------------------------------------------------------------------------
/103. Ecommerce/spring-c09-web-flights/README.md:
--------------------------------------------------------------------------------
1 | # Aplicación vuelos
2 |
3 | Ejemplo de aplicación Spring Boot con:
4 |
5 | * Controladores MVC
6 | * Thymeleaf
7 | * Seguridad
8 | * Subida de archivos
--------------------------------------------------------------------------------
/103. Ecommerce/spring-c09-web-flights/src/main/java/com/example/exceptions/InsufficientBalanceException.java:
--------------------------------------------------------------------------------
1 | package com.example.exceptions;
2 |
3 | public class InsufficientBalanceException extends RuntimeException {
4 | }
5 |
--------------------------------------------------------------------------------
/103. Ecommerce/spring-c09-web-flights/src/main/java/com/example/exceptions/TicketAlreadyPurchasedException.java:
--------------------------------------------------------------------------------
1 | package com.example.exceptions;
2 |
3 | public class TicketAlreadyPurchasedException extends RuntimeException {
4 | }
5 |
--------------------------------------------------------------------------------
/103. Ecommerce/spring-c09-web-flights/src/main/java/com/example/services/PassengerService.java:
--------------------------------------------------------------------------------
1 | package com.example.services;
2 |
3 | import com.example.entities.Passenger;
4 |
5 | import java.util.List;
6 |
7 | public interface PassengerService {
8 | List findAll();
9 | Passenger save(Passenger passenger);
10 | }
11 |
--------------------------------------------------------------------------------
/103. Ecommerce/spring-c09-web-flights/src/main/resources/static/css/styles.css:
--------------------------------------------------------------------------------
1 | .dataTables_length {
2 | text-align: left;
3 | }
--------------------------------------------------------------------------------