本項目倉庫提供spring、spring-boot、spring-cloud 的常用整合用例。每個用例都提供詳細的圖文說明,並給出官方文檔的具體鏈接作爲參考。隨着spring的迭代,本倉庫會持續更新,升級版本和豐富用例。
倉庫地址:https://github.com/heibaiying/spring-samples-for-all
版本說明:
Spring: 5.1.3.RELEASE
Spring-Boot:2.1.1.RELEASE
Spring-Cloud:Finchley.SR2
目前已更新的用例如下:
1. Spring samples
所有spring的項目我都會提供兩個版本的sample:
一個版本是基於xml配置,也就是最爲常見的配置方式;
另一個版本完全基於代碼配置(項目以annotation結尾),這也是目前spring官方推薦的更爲靈活配置方法,也方便更好的銜接spring boot 的配置。
samples | 描述 | 官方文檔 |
---|---|---|
springmvc-base springmvc-base-annotation | springmvc基礎、參數綁定、格式轉換、數據校驗、 異常處理、 文件上傳下載、視圖渲染 | Spring Mvc |
spring-aop spring-aop-annotation | spring切面編程 | Spring AOP |
spring-jdbc spring-jdbc-annotation | spring jdbc-template 的使用 | Using JdbcTemplat |
spring-mybatis spring-mybatis-annotation | spring 整合 mybatis | Mybatis-Spring |
spring-druid-mybatis spring-druid-mybatis-annotation | spring 整合druid、mybatis | Alibaba druid |
spring-redis spring-redis-annotation | spring 整合 redis 單機+集羣(jedis客戶端) spring 整合 redis 單機+集羣(redisson客戶端) | Redisson |
spring-mongodb spring-mongodb-annotation | spring 整合 mongodb | Spring Data MongoDB |
spring-memcached spring-memcached-annotation | spring 整合 memcached(單機+集羣) | Xmemcached |
spring-rabbitmq spring-rabbitmq-annotation | spring 整合 rabbitmq、消息序列化與反序列化 | Rabbitmq Spring AMQP |
spring-dubbo spring-dubbo-annotation | spring 整合 dubbo | Dubbo |
spring-websocket spring-websocket-annotation | spring 整合 websocket | Spring Websocket |
spring-mail spring-mail-annotation | spring 普通文本郵件、附件郵件、模板郵件 | Spring Email |
spring-scheduling spring-scheduling-annotation | spring 定時任務 | Task Execution and Scheduling |
2. Spring-Boot samples
samples | 描述 | 官方文檔 |
---|---|---|
spring-boot-base | spring-boot 基礎 | spring boot 官方文檔 spring boot 中文官方文檔 |
spring-boot-yml-profile | yml 語法和多配置切換 | Using YAML Instead of Properties |
spring-boot-tomcat | spring-boot 整合外部容器(tomcat) | Use Another Web Server |
spring-boot-servlet | spring boot 整合servlet 3.0 | Embedded Servlet Container Support |
spring-boot-jsp | spring-boot 整合 jsp(內置容器) | JSP Limitations |
spring-boot-data-jpa | spring-boot data jpa 的使用 | Spring Data JPA |
spring-boot-mybatis | spring-boot+HikariDataSources 整合 mybatis | Mybatis-Spring Mybatis-Spring-Boot-Autoconfigure |
spring-boot-druid-mybtais | spring-boot 整合druid、mybatis | Alibaba druid druid-spring-boot-starter |
spring-boot-redis | spring-boot 整合 redis | Working with NoSQL Technologies |
spring-boot-mongodb | spring-boot 整合 mongodb | Working with NoSQL Technologies |
spring-boot-memcached | spring-boot 整合 memcached | Xmemcached |
spring-boot-rabbitmq | spring-boot 整合 rabbitmq | RabbitMQ support |
spring-boot-dubbo | spring-boot 整合 dubbo | Dubbo |
spring-boot-websocket | spring-boot 整合 websocket | Using @ServerEndpoint |
spring-boot-kafka | spring-boot 整合 kafka | Apache Kafka Support |
spring-boot-actuator | actuator + Hyperic SIGAR 應用信息監控 | Spring Boot Actuator |
3. Spring-Cloud samples
samples | 描述 | 官方文檔 |
---|---|---|
spring-cloud-Eureka | Eureka 服務的註冊和發現 | Service Discovery: Eureka Server |
spring-cloud-Eureka-cluster | Eureka 高可用集羣搭建 | Service Discovery: Eureka Server |
spring-cloud-Ribbon | Ribbon 客戶端負載均衡 RestTemplate 服務遠程調用 | Client Side Load Balancer: Ribbon |
spring-cloud-OpenFeign | OpenFeign 聲明式服務調用、服務容錯處理 | Declarative REST Client: Feign |
spring-cloud-Hystrix | Hystix 服務容錯保護 hystrix dashboard 斷路器監控 Turbine 斷路器聚合監控 | Circuit Breaker: Hystrix Clients Hystrix metrics aggregation with Turbine |
spring-cloud-Zuul | Zuul 網關服務 | Router and Filter: Zuul |
spring-cloud-Sleuth-Zipkin | Sleuth + Zipkin 服務鏈路追蹤 | Spring Cloud Sleuth |
spring-cloud-Config-Bus | Config 分佈式配置中心 集成Bus消息總線 實現配置熱更新 | Spring Cloud Config Client |
4. Spring分佈式session和分佈式事務
sample | 描述 | 官方文檔 |
---|---|---|
spring-session | spring 實現分佈式 session | spring session |
spring boot + spring session | spring boot + spring session 實現分佈式 session | spring session |