How realpdai/tech-pdai-spring-demos works
This repository is a collection of Spring Framework and Spring Boot learning examples, not one integrated application. Its principal demonstrated workflow is HTTP job-management requests entering a controller, which delegates schedule changes or queries to a Quartz manager; the manager operates Quartz and returns job information. Other branches cover IoC/AOP and MVC fundamentals, Spring Boot MVC and API concerns, and operational or testing examples. The README documents a broader curriculum than the sampled source; links are shown only where the tree, README, or excerpts support them.
Main entry points: QuartzManager.java Quartz Manager · UserService.java User Service · JobController.java Job Controller · UserController.java Boot MVC Layers
Components 23
Spring Framework
- XML IoC Demo
001-spring-framework-demo-helloworld-xml/src/main/java/tech/pdai/springframework/App.java - Java Config Demo
002-spring-framework-demo-helloworld-java/src/main/java/tech/pdai/springframework/config/BeansConfig.java - Annotation Demo
003-spring-framework-demo-helloworld-anno/src/main/java/tech/pdai/springframework/App.java - XML AOP Demo
004-spring-framework-demo-aop-xml/src/main/java/App.java - Proxy Demos
006-spring-framework-demo-aop-proxy-jdk/src/main/java/tech/pdai/springframework/ProxyDemo.java - Bean Lifecycle
008-spring-framework-demo-bean-lifecycle/src/main/java/tech/pdai/springframework/processor/MyBeanPostProcessor.java - Spring MVC
011-spring-framework-demo-springmvc/src/main/java/tech/pdai/springframework/springmvc/controller/UserController.java
Spring Boot
- Boot Hello World
101-springboot-demo-helloworld/src/main/java/tech/pdai/springboot/helloworld/SpringBootHelloWorldApplication.java - Boot MVC Layers
102-springboot-demo-helloworld-mvc/src/main/java/tech/pdai/springboot/helloworld/controller/UserController.java - User Service
102-springboot-demo-helloworld-mvc/src/main/java/tech/pdai/springboot/helloworld/service/UserService.java - User Repository
102-springboot-demo-helloworld-mvc/src/main/java/tech/pdai/springboot/helloworld/dao/UserRepository.java
API Design
- API Documentation
111-springboot-demo-swagger-v2/src/main/java/tech/pdai/springboot/swagger/config/SwaggerConfig.java - Request Validation
141-springboot-demo-validation/src/main/java/tech/pdai/springboot/validation/controller/UserController.java - API Versioning
151-springboot-demo-api-multi-version/src/main/java/tech/pdai/springboot/api/version/config/version/ApiVersionRequestMappingHandlerMapping.java - API Signing
153-springboot-demo-api-sign/src/main/java/tech/pdai/springboot/api/sign/config/sign/SignAspect.java
Operations And Tests
- Custom Actuator
161-springboot-demo-actuator/src/main/java/tech/pdai/springboot/actuator/CustomEndpointController.java - Unit Test Example
197-springboot-demo-junit-v5-mockito/src/main/java/tech/pdai/springboot2unit5/controller/UserController.java
Scheduled Jobs
- HTTP Client
423-springboot-demo-schedule-quartz-cluster/src/main/java/tech/pdai/springboot/quartz/cluster/controller/JobController.java - Job Controller
423-springboot-demo-schedule-quartz-cluster/src/main/java/tech/pdai/springboot/quartz/cluster/controller/JobController.java - Quartz Manager
423-springboot-demo-schedule-quartz-cluster/src/main/java/tech/pdai/springboot/quartz/cluster/manager/QuartzManager.java - Quartz Scheduler
- Job Query Response
Other components
- Learner
Connections 20
- Learner → XML IoC Demo: explores IoC
- Learner → Java Config Demo: explores IoC
- Learner → Annotation Demo: explores IoC
- Learner → XML AOP Demo: explores AOP
- Learner → Proxy Demos: explores proxies
- Learner → Bean Lifecycle: explores lifecycle
- Learner → Spring MVC: explores MVC
- Learner → Boot Hello World: explores Boot
- Learner → API Documentation: explores docs
- Learner → Request Validation: explores validation
- Learner → API Versioning: explores versions
- Learner → API Signing: explores signing
- Learner → Custom Actuator: explores monitoring
- Learner → Unit Test Example: explores testing
- HTTP Client → Job Controller: sends requests
- Job Controller → Quartz Manager: delegates job operations
- Quartz Manager → Quartz Scheduler: schedules and queries
- Quartz Manager → Job Query Response: returns query data
- Boot MVC Layers → User Service: declares service usage
- User Service → User Repository: declares data layer