Development of distributed REST services based on Spring + Dubbo, dubborest
This course mainly uses Spring technology stack + dubbo to develop a practical tutorial similar to Dangdang's library e-commerce background.
Course features:
1. the technical system of the course is systematic, comprehensive, and meticulous: the main technologies involved in the course include:
Spring IO (dependent version management ),
Spring Boot (Automated configuration, zero XML ),
Spring MVC (RESTful API development ),
Spring Security, Spring Security Oauth (RESTful API Security ),
Spring Framework (basic Framework, service layer development ),
Spring Data JPA (Data Persistence Layer Development, zero SQL ),
Dubbo (service governance ).
All technologies use the latest version.
2. the entire process of Case-based practice-driven explanations and hands-on drills, each knowledge point will use the actual code sample to demonstrate its principles and features, In order to simulate real cases to drive explanations of various technical points, help students understand and master complex technologies in their business background.
3. test-driven development: the entire course adopts the test-driven development method. First, write automated test cases and Business Code. On the basis of mastering the development technology, you can also learn how to perform unit tests on the persistence layer, service layer, and WEB service layer.
4. The course contains many exclusive and in-depth technical explanations and decryption services throughout the network. For example, Spring Data Jpa ing policy, inheritance policy, and crawling policy control. This gives you a full grasp of every detail of this powerful ORM framework. Various ing processing, exception handling, asynchronous request processing, service forgery, and automatic document generation when Spring MVC develops RESTful APIs. Spring Security details, solutions to various authentication and authorization requirements, how to expand the framework functions, how to integrate with third-party logon or single sign-on. Integrate Spring Boot with Dubbo to handle service logs, transactions, messages, scheduled tasks, and multithreading.
5. The course details the evolution of an application from a single block architecture to a vertical application architecture to a distributed service architecture. Describes how to design RESTful APIs in the architecture of frontend and backend separation. The final system provides a REST-style http service, and various internal vertical applications share stateless Java services through dubbo. The whole system can be seamlessly scaled horizontally at the Web layer and service layer.
What can be achieved after the course is completed:
1. Build a distributed RESTful API development framework independently
2. You can use Spring Boot and Spring IO to simplify Spring project configuration and increase development speed.
3. you can use Spring Data JPA to operate relational databases, fully object-oriented, zero-SQL fast development of database persistence layer services, Master how to control automatically generated SQL, and ensure the performance of the entire database persistence layer.
4. You can use Spring MVC to quickly develop RESTful APIs and handle common WEB layer problems. Master Exception Handling, file upload and download, service forgery and automatic document generation, and use Asynchronous methods to process Http requests to improve middleware throughput and other technologies.
5. You can use Spring Security to protect the Security of RESTful APIs and use JavaConfig to quickly implement various common authentication and authorization requirements. Measure the test taker's knowledge about common requirements such as 'remember me ', Session management, third-party Logon (QQ, Weibo, etc.), and single-point logon.
6. understand the distributed service architecture, build a distributed service framework using Dubbo, and combine it with Spring Boot and Spring framework to handle service logs, transactions, messages, caches, scheduled tasks, and multithreading.
The main sections of the course are as follows:
01. course introduction, architecture description, case description, and pre-Knowledge
02. Environment Settings (JDK8, STS, Maven, Spring IO, Spring Boot)
03. Introduction to Spring Data JPA
04. Object ing-Basic Property ing
05. Object ing-Global Naming Policy
06. Object ing-bidirectional one-to-multiple relationship ing
07. Object ing-Multi-to-many and one-to-one ing
08. Object ing-inheritance relationship ing
09. Repository-Basic addition, deletion, modification, and query
10. Repository-paging and sorting
11. Repository-static Query
12. Repository-dynamic query
13. Repository-custom Repository implementation
14. Advanced topic-persistent Context
15. Advanced topic-capture policy
16. Advanced topic-inheritance policy 1
17. Advanced topic-inheritance policy 2
18. Advanced topic-optimistic lock
19. Advanced topic-Hibernate Validator
20. Database Development Summary
21. RestAPI development-Overview
22. RestAPI development-processing of querying book requests
23. RestAPI development-parameter ing, paging and sorting
24. RestAPI development-Regular Expressions and JsonView
25. RestAPI development-New Book request processing
26. RestAPI development-Modify and delete cookies and headers
27. RestAPI development-handling exceptions and static Resources
28. RestAPI development-interceptor and filter
29. RestAPI development-file upload/download Processing
30. RestAPI development-asynchronous processing of Http requests
31. RestAPI development-use Swagger to generate documents
32. RestAPI development-use WireMock to forge a service
33. RestAPI Security-Spring Security overview and basic configuration
34. RestAPI Security-Spring Security built-in filter chain Introduction
35. RestAPI security-implement Http Basic Authentication
36. RestAPI security-form Authentication
37. RestAPI security-implement the "remember me" Function
38. RestAPI Security-manage sessions in Spring Security
39. RestAPI security-Understanding authorization decisions
40. RestAPI security-use configuration to control URL Permissions
41. RestAPI security-use annotation to control permissions
42. RestAPI security-custom Authorization Policy
43. RestAPI security-common attack methods and Protection
44. RestAPI security-OAuth Protocol Introduction
45. RestAPI Security-use Spring Security OAuth for third-party Login
46. RestAPI security-integrate CAS for SSO
47. distributed service development-service layer Architecture Overview
48. distributed service development-restructured the code structure and introduce dubbo
49. distributed service development-implement add, delete, modify, and query service 1
50. distributed service development-implement add, delete, modify, and query service 2
51. distributed service development-use logback to record logs
52. distributed service development-use AOP to create global log slices
53. distributed service development-transaction control
54. distributed service development-Cache Processing
55. distributed service development-scheduled Task Processing
56. distributed service development-Configuration Information Processing
57. distributed service development-use multi-thread development to increase system throughput 1
58. distributed service development-use multi-thread development to improve system throughput 2
59. Overview of continuous integration
60. Use jenkins for continuous integration