《Spring Boot开发:从0到1》大纲结构

程序员诗人 2017-04-02

架构 java 数据库 spring 面向对象编程 配置 微服务 编程 velocity freemarker groovy

《Spring Boot开发:从0到1》 大纲结构v2.0

第一部分Spring Boot基础

第1章 Spring Boot史前简述
1.1 J2EE(Java 2 Platform Enterprise Edition)简介
1.2 Java企业级开发框架概述
1.3 Spring生态系统
1.4 Spring JavaConfig

第2章 Spring Boot简介
2.1 用Spring Boot创造一切
2.2 Spring Boot起源
2.3 Spring Boot在Spring生态中的构成
2.3.1 Spring生态顶级项目
2.3.2 Spring cloud子项目
2.4 Spring Boot核心组件
2.5 Spring Boot版本历史
2.6 Spring Boot学习成本

第3章 Spring Boot快速开始Hello World
3.1 Spring Boot CLI groovy版Hello World
3.2 常规Java版Hello World

第4章 零XML配置的Spring Boot Application
4.1 application.properties
4.2 Spring Boot属性配置和使用
4.2.1配置的优先级
4.2.2命令行参数配置
4.2.3 random.*属性配置
4.2.4属性文件配置
4.2.5 YAML格式的配置文件
4.2.6使用 Java配置类
4.3使用CommandLineRunner执行初始化加载

第5章 Spring Boot自动配置原理
5.1 Spring Boot的核心组件模块
5.2 Spring Boot Starters
5.3 @EnableAutoConfiguration自动配置原理
5.4 FreeMarkerAutoConfiguration自动配置的实例分析
5.5 spring.factories与定义应用程序的初始化行为

第二部分 Spring Boot集成

第6章 Spring Boot数据库集成
6.1 Spring Boot集成mybatis
6.2 Spring Boot集成jpa
6.3 Spring Boot集成多数据源
6.4 Spring Boot集成Druid监控数据库
6.5 Spring Boot集成mongodb开发

第7章 Spring Boot集成模板引擎
7.1 Spring Boot集成jsp模板
7.2 Spring Boot集成thymeleaf模板
7.3 Spring Boot集成velocity模板
7.4 Spring Boot集成freemarker模板
7.5 Spring Boot集成groovy模板

第8章 Spring Boot集成开发
8.1 Spring Boot集成Groovy混合Java开发
8.2 Spring Boot集成Groovy、Grails开发
8.3 Spring Boot集成Scala混合Java开发
8.4 Spring Boot集成Kotlin混合Java开发
8.5 Spring Boot集成Swagger2构建自动化Rest API文档
8.6 Spring Boot集成Spring Security
8.7 Spring Boot集成日志
8.8 Spring Boot静态资源处理

第9章 Spring Boot开发者工具
9.1 Spring Boot maven plugin
9.2 Spring Boot gradle plugin
9.3 Spring Boot热部署
9.4 Spring Boot远程调试

第10章 Spring Boot应用部署运维
10.1 Spring Boot应用运行
10.2使用Spring Cloud部署
10.3使用Docker快速部署

第11章 Spring Boot应用监控
11.1 使用Spring Boot Actuator监控应用
11.2 Spring Boot远程Shell

第12章 Spring Boot与微服务
12.1 微服务架构
12.2 使用Spring Boot创建微服务

第三部分 问题解决

第13章 常见问题与解决方案
13.1 Spring MVC 关于controller的字符编码
13.2 Spring Boot启动报错
13.3 javax.servlet.ServletException
13.4 库依赖冲突问题
13.5 org.apache.catalina.LifecycleException
13.6 @EnableMongoRepositories路径配置
13.7 Logging system failed to initialize using configuration from 'logback.xml '
13.8 java.lang.IllegalArgumentException: Request header is too large
13.9 No handler found for GET /swagger-ui.html

附录

附录A 计算机的0和1
附录B 编程的本质
附录C Java编程简史


《Springboot极简教程》大钢结构v1.0.1

《Springboot极简教程》2017.4.19.png

《Springboot极简教程》

第O部分 Spring Boot简介

第1章 Spring Boot史前简述

1.1 J2EE(Java 2 Platform Enterprise Edition)简介

1.2 Java企业级开发框架概述

1.3 Spring生态系统

1.4 Spring JavaConfig

小结

参考资料

第2章 Spring Boot简史

2.1 用SpringBoot创造一切吧

2.2 SpringBoot起源

2.3 SpringBoot在整个Spring生态中

2.3.1 Spring生态顶级项目

2.3.2 Spring cloud子项目

2.4 SpringBoot核心组件

2.5 SpringBoot版本历史

2.6 SpringBoot学习成本

小结

第一部分 SpringBoot的核心

第3章 一键启动应用程序

3.1 SpringBoot版的Restful Hello,World

3.1.1 Spring Boot CLI groovy版Hello World

3.1.2 常规的Java版的Hello World

3.2 启动Springboot的自动配置@EnableAutoConfiguration

第4章 零XML配置的Springboot Application

4.1 application.properties

4.2 配置文件说明

第5章 Springboot功能模块和核心组件

第二部分 SpringBoot集成

第6章 Springboot数据库集成

6.1 Spring Boot集成mybatis

6.2 Spring Boot集成jpa

第7章 Spring Boot集成模板引擎

7.1 Spring Boot集成jsp模板

7.2 Spring Boot集成thymeleaf模板

7.3 Spring Boot集成velocity模板

7.4 Spring Boot集成freemarker模板

7.5 Spring Boot集成groovy模板

第8章 Spring Boot集成Groovy混合Java开发

第9章 Spring Boot集成Groovy,Grails开发

第10章 Spring Boot集成Scala混合Java开发

第11章 Spring Boot集成Kotlin混合Java开发

第12章 Springboot集成mongodb开发

第13章 Spring Boot集成Swagger快速构建REST API文档

第14章 Spring Boot安全集成Spring Security

第15章 Spring Boot日志集成

第16章 Spring Boot微服务和DevOps

第三部分 问题解决

常见问题&解决

Spring MVC 关于controller的字符编码

Springboot启动报错 Whitelabel Error Page: This application has no explicit mapping for

javax.servlet.ServletException: Circular view path [login]: would dispatch back to the current handler URL [/login] again

库依赖冲突问题:Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflow

org.apache.catalina.LifecycleException: A child container failed during start

@EnableMongoRepositories路径配置:APPLICATION FAILED TO START: Parameter 0 of constructor in

Logging system failed to initialize using configuration from 'logback.xml '

第四部分 附录

附录1 计算机简史

1.0 一切皆是映射

1.1 二进制01与易经阴阳

1.2 向上抽象封装一层

1.3 编程之初:从机械计算机到能接受指令的计算机

1.3.1 机械计算机简史

1.3.2 能接受指令的计算机

小结

附录2 编程的本质

2.0 什么是编程

2.1 结构化程序设计

2.2 怎样解决问题

2.3 层次化分解与复合

2.4 面向对象编程(OOP)

2.5 函数式编程(FP)

2.6 混合式编程(HP)

小结

附录3 编程简史

1940之前

1940年代

1950与1960年代

1967-1978:确立基础范式

1980年代:增强、模块、性能

1990年代:互联网时代

当今的趋势

编程语言发展史上的杰出人物

名词纪要

参考资料

附录4 Java编程简史

从GOTO到OOP

Java简史

JVM上的语言家族

用哪种 JVM 语言?

《Springboot极简教程》大钢结构v1.0.0

《Springboot极简教程》

第O部分 Spring Boot简介

第1章 Spring Boot史前简述

1.1 循证架构

1.2 Java元编程

1.2.1 元编程(meta-programming)

1.3 Java主流框架概述

1.3.1 Struts

1.3.2 Hibernate

1.3.3 Spring框架

1.4 Spring生态系统

1.5 Spring JavaConfig

1.5.1 JavaConfig简介

1.5.2 JavaConfig与注解驱动配置

小结

第2章 Spring Boot简史

2.1 用SpringBoot创造一切吧

2.2 SpringBoot起源

2.3 SpringBoot在整个Spring生态中

2.3.1 Spring生态顶级项目

2.3.2 Spring cloud子项目

2.4 SpringBoot核心组件

2.5 SpringBoot版本历史

2.6 SpringBoot学习成本

小结

第一部分 SpringBoot的核心

第3章 一键启动应用程序

3.1 SpringBoot版的Restful Hello,World

3.1.1 Spring Boot CLI groovy版Hello World

3.1.2 常规的Java版的Hello World

3.2 启动Springboot的自动配置@EnableAutoConfiguration

第4章 零XML配置的Springboot Application

4.1 application.properties

4.2 配置文件说明

第5章 Springboot功能模块和核心组件

第二部分 SpringBoot集成

第6章 Springboot数据库集成

6.1 Spring Boot集成mybatis

6.2 Spring Boot集成jpa

第7章 Spring Boot集成模板引擎

7.1 Spring Boot集成jsp模板

7.2 Spring Boot集成thymeleaf模板

7.3 Spring Boot集成velocity模板

7.4 Spring Boot集成freemarker模板

7.5 Spring Boot集成groovy模板

第8章 Spring Boot集成Groovy,Grails开发

第9章 Spring Boot集成Scala混合Java开发

第10章 Spring Boot集成Kotlin混合Java开发

第11章 Springboot集成mongodb开发

第12章 Spring Boot集成Swagger快速构建REST API文档

第13章 Spring Boot微服务和DevOps

第三部分 问题解决

常见问题&解决

第四部分 附录

附录1 计算机简史

1.0 一切皆是映射

1.1 二进制01与易经阴阳

1.2 向上抽象封装一层

1.3 编程之初:从机械计算机到能接受指令的计算机

1.3.1 机械计算机简史

1.3.2 能接受指令的计算机

小结

附录2 编程的本质

2.0 什么是编程

2.1 结构化程序设计

2.2 怎样解决问题

2.3 层次化分解与复合

2.4 面向对象编程(OOP)

2.5 函数式编程(FP)

2.6 混合式编程(HP)

小结

附录3 编程简史

附录4 Java编程简史

《Springboot极简教程大纲结构v1.0.0》

《Spring Boot极简教程》大纲结构v0.0.3

《Springboot极简教程》2017.4.6

《Springboot极简教程》

第O部分 编程总论

第1章 编程总论

第2章 Java编程简史

第一部分 SpringBoot的核心

第3章 Spring Boot史前简述

3.1 循证架构

3.2 Java元编程

3.2.1 元编程(meta-programming)

3.3 Java主流框架概述

3.3.1 Struts

3.3.2 Hibernate

3.3.3 Spring框架

3.4 Spring生态系统

3.5 Spring JavaConfig

3.5.1 JavaConfig简介

3.5.2 JavaConfig与注解驱动配置

小结

第4章 Spring Boot简史

4.1 用SpringBoot创造一切吧

4.2 SpringBoot起源

4.3 SpringBoot在整个Spring生态中

4.3.1 Spring生态顶级项目

4.3.2 Spring cloud子项目

4.4 SpringBoot核心组件

4.5 SpringBoot版本历史

4.6 SpringBoot学习成本

小结

第5章 一键启动应用程序

5.0 SpringBoot版的Restful Hello,World

5.0.1 Spring Boot CLI groovy版Hello World

5.0.2 常规的Java版的Hello World

5.1 启动Springboot的自动配置@EnableAutoConfiguration

第6章 零XML配置的Springboot Application

6.0 application.properties

6.1 配置文件说明

第7章 Springboot功能模块和核心组件

第8章 Springboot数据库集成mybatis,jpa

8.0 Spring Boot集成mybatis

8.1 Spring Boot集成jpa

第9章 Spring Boot集成模板引擎jsp, thymeleaf, velocity, freemarker, groovy

9.0 Spring Boot集成jsp模板

9.1 Spring Boot集成thymeleaf模板

9.2 Spring Boot集成velocity模板

9.2.1 配置pom依赖的velocity-starter

9.2.2 application.properties配置

9.2.3 Dao层代码示例

9.2.4 Controller层代码示例

9.2.5 执行定时任务

9.2.6 启动类代码&运行测试

9.3 Spring Boot集成freemarker模板

9.4 Spring Boot集成groovy模板

第二部分 SpringBoot集成

第10章 Spring Boot集成Groovy混合Java开发

第11章 Spring Boot集成Scala混合Java开发

第12章 Spring Boot集成Kotlin混合Java开发

第13章 Springboot集成mongodb开发

13.0 系统基本功能

13.1 系统技术框架

13.2 系统架构设计

13.3 数据库环境配置

13.4 定义领域对象

13.5 核心业务逻辑实现

13.6 前端jsp设计

13.7 前端js代码

13.8 运行效果

小结

第14章 Spring Boot集成Swagger快速构建REST API文档

第15章 Spring Boot微服务和DevOps

第三部分 问题解决

常见问题&解决

第四部分 附录

附录1 计算机简史

1.0 一切皆是映射

1.1 二进制01与易经阴阳

1.2 向上抽象封装一层

1.3 编程之初:从机械计算机到能接受指令的计算机

1.3.1 机械计算机简史

1.3.2 能接受指令的计算机

小结

附录2 编程的本质

2.0 什么是编程

2.1 结构化程序设计

2.2 怎样解决问题

2.3 层次化分解与复合

2.4 面向对象编程(OOP)

2.5 函数式编程(FP)

2.6 混合式编程(HP)

小结

《Spring Boot极简教程》大纲结构v0.0.2

《Springboot极简教程》

《Springboot极简教程》

第O部分 编程总论

第1章 计算机简史

1.0 一切皆是映射

1.1 二进制01与易经阴阳

1.2 向上抽象封装一层

1.3 编程之初:从机械计算机到能接受指令的计算机

1.3.1 机械计算机简史

1.3.2 能接受指令的计算机

小结

第2章 编程的本质

2.0 什么是编程

2.1 结构化程序设计

2.2 怎样解决问题

2.3 层次化分解与复合

2.4 面向对象编程(OOP)

2.5 函数式编程(FP)

2.6 混合式编程(HP)

小结

第一部分 SpringBoot的核心

第3章 Spring Boot史前简述

3.1 循证架构

3.2 Java元编程

3.2.1 元编程(meta-programming)

3.3 Java主流框架概述

3.3.1 Struts

3.3.2 Hibernate

3.3.3 Spring框架

3.4 Spring生态系统

3.5 Spring JavaConfig

3.5.1 JavaConfig简介

3.5.2 JavaConfig与注解驱动配置

小结

第4章 Spring Boot简史

4.1 用SpringBoot创造一切吧

4.2 SpringBoot起源

4.3 SpringBoot在整个Spring生态中

4.3.1 Spring生态顶级项目

4.3.2 Spring cloud子项目

4.4 SpringBoot核心组件

4.5 SpringBoot版本历史

4.6 SpringBoot学习成本

小结

第5章 一键启动应用程序

5.0 SpringBoot版的Restful Hello,World

5.0.1 Spring Boot CLI groovy版Hello World

5.0.2 常规的Java版的Hello World

5.1 启动Springboot的自动配置@EnableAutoConfiguration

第6章 零XML配置的Springboot Application

6.0 application.properties

6.1 配置文件说明

第7章 Springboot功能模块和核心组件

第8章 Springboot数据库集成mybatis,jpa

8.0 Spring Boot集成mybatis

8.1 Spring Boot集成jpa

第9章 Spring Boot集成模板引擎jsp, thymeleaf, velocity, freemarker, groovy

9.0 Spring Boot集成jsp模板

9.1 Spring Boot集成thymeleaf模板

9.2 Spring Boot集成velocity模板

9.2.1 配置pom依赖的velocity-starter

9.2.2 application.properties配置

9.2.3 Dao层代码示例

9.2.4 Controller层代码示例

9.2.5 执行定时任务

9.2.6 启动类代码&运行测试

9.3 Spring Boot集成freemarker模板

9.4 Spring Boot集成groovy模板

第二部分 SpringBoot集成

第10章 Spring Boot集成Groovy混合Java开发

第11章 Spring Boot集成Scala混合Java开发

第12章 Spring Boot集成Kotlin混合Java开发

第13章 Springboot集成mongodb开发

13.0 系统基本功能

13.1 系统技术框架

13.2 系统架构设计

13.3 数据库环境配置

13.4 定义领域对象

13.5 核心业务逻辑实现

13.6 前端jsp设计

13.7 前端js代码

13.8 运行效果

小结

第14章 Spring Boot集成Swagger快速构建REST API文档

第15章 Spring Boot微服务和DevOps

第三部分 问题解决

常见问题&解决

《Spring Boot极简教程》大纲结构v0.0.1

极简SpringBoot教程.png

极简SpringBoot教程

SpringBoot起源

项目背景

源代码&文档

https://github.com/spring-projects/spring-boot

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/

解决了一个怎样的问题

如何把这些子项目整合起来形成一个完整的解决方案。在如何使用这些组件上,并没有相关的最佳实践提供指导

springboot底层完全是spring,只是springboot帮你做掉了很多模板配置

Spring Boot 是 Spring 框架的一个新的子项目,用于创建 Spring 4.0 项目。它的开发始于 2013 年。2014 年 4 月发布 1.0.0 版本。它可以自动配置 Spring 的各种组件,并不依赖代码生成和 XML 配置文件。

Spring Boot 的作用在于创建和启动新的基于 Spring 框架的项目

spring生态

特性

创建可以独立运行的 Spring 应用。

直接嵌入 Tomcat 或 Jetty 服务器,不需要部署 WAR 文件。

提供推荐的基础 POM 文件来简化 Apache Maven 配置。

尽可能的根据项目依赖来自动配置 Spring 框架。

提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。

没有代码生成,也没有 XML 配置文件。

核心理念

约定优于配置(convention over configuration)

SpringBoot架构

核心模块解决的核心问题

SpringBoot:快速开始 A Restful Hello,World

Spring boot注解

@configuration 相当于xml配置文件

@RestController Spring新加入的声明Controller的注解

@component@service @Repository 声明bean

@autowired  @Qualifier 注入bean

@SpringBootApplication = @Configuration @EnableAutoConfiguration @ComponentScan

@Import @ImportResource 导入配置文件

@Configuration 声明配置类

@RestController 实现一个RESTful web services

@Component , @Service , @Repository , @Controller 声明bean

@autowired  @Qualifier 注入

@Aspect等等支持AOP

@RequestMapping 注解地址映射,url pattern

实例

https://github.com/MiniSpringBootTutorial/spring-boot/tree/master/spring-boot-samples

SpringBoot Application启动过程run流程图

SpringBoot集装箱starter

spring-boot-starter

spring-boot-starter-actuator

spring-boot-starter-jdbc

spring-boot-starter-data-jpa

spring-boot-starter-data-*

spring-boot-starter-security

spring-boot-starter-test

spring-boot-starter-web

写一个自己定制的starter

properties/YAML配置PropertyConfig

Spring Boot 所提供的配置优先级顺序比较复杂。按照优先级从高到低的顺序:

配置优先级

命令行参数。(最高)

通过 System.getProperties() 获取的 Java 系统参数。

操作系统环境变量。

从 java:comp/env 得到的 JNDI 属性。

通过 RandomValuePropertySource 生成的“random.*”属性。

应用 Jar 文件之外的属性文件。

应用 Jar 文件内部的属性文件。

在应用配置 Java 类(包含“@Configuration”注解的 Java 类)中通过“@PropertySource”注解声明的属性文件。

通过“SpringApplication.setDefaultProperties”声明的默认属性。

属性文件

Spring Boot 提供的 SpringApplication 类会搜索并加载 application.properties 文件来获取配置属性值。SpringApplication 类会在下面位置搜索该文件。

当前目录的“/config”子目录。

当前目录。

classpath 中的“/config”包。

classpath

YAML

spring:
profiles: development
db:
url: jdbc:hsqldb:file:testdb
username: sa
password:


spring:
profiles: test
db:
url: jdbc:mysql://localhost/test
username: test
password: test

模板引擎

jsp

velocity

freemarker

thymeleaf

内嵌web容器EmbeddedServletContainerCustomizer

tomcat

jetty

集成SpringMVC开发

spring-boot 加入拦截器Interceptor

WebMvcConfigurerAdapter: 一行代码写Controller

WebSecurityConfigurerAdapter

@ControllerAdvice系统全局统一异常处理

数据库持久层

jpa

mybatis

mysql

mongodb

RESTful:Spring Boot with Mongodb

H2

应用监控endpoint

技术栈

算法,数据结构,编译,架构,框架,分布式,项目管理,高性能,DB,系统(OS/网络/存储),JAVASCRIPT/CSS/html

Design Patterns

编程名言

以下内容收集自一些优秀的技术书籍章节开头的名言佳句,非常有意思,直接或间接反映了软件开发中的一些事情。

生命太短暂,不要去做一些根本没有人想要的东西。——Ash Maurya,Running Lean 作者
如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。——David Leinweber
软件设计有两种方式:一种方式是,使软件过于简单,明显没有缺陷;另一种方式是,使软件过于复杂,没有明显的缺陷。——C.A.R. Hoare
其实,我尝试着使Ruby更自然,而不是简单。Ruby看起来很简单,但内部是非常复杂的,就像我们的身体一样。——松本行弘,Ruby之父
大部分情况下,构建程序的过程本质上是对规范调试的过程。——Fred Brooks,《人月神话》作者
软件开发往往是这样:最开始的90%代码占用了开始的90%的开发时间;剩下10%代码同样需要90%的开发时间。——Tom Cargill
当你试图解决一个你不理解的问题时,复杂化就产成了。——Andy Boothe
用几个小时来制定计划,可以节省几周的编程时间。—— 匿名
控制复杂性是计算机编程的本质。—— Brian Kernighan
计算机科学领域的所有问题都可以通过其他方式间接解决。——David Wheeler
编程是两队人马在竞争:软件工程师努力设计出最大最好的连白痴都会使用的程序;而宇宙在拼命制造最大最好的白痴。到目前为止,宇宙是胜利者。—— Rick Cook
调试一个初次见到的代码比重写代码要困难两倍。因此,按照定义,如果你写代码非常巧妙,那么没有人足够聪明来调试它。—— Brian W. Kernighan
我不是一个伟大的程序员,我只是一个具有良好习惯的优秀程序员。― Kent Beck
你们中大多数人都熟悉程序员的美德,有三种:那就是懒惰、急躁和傲慢。– Larry Wall,Perl語言发明人
任何一个傻瓜都会写能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码。——Martin Fowler
靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度。——比尔•盖茨
这不是一个bug,这只是一个未列出来的特性。——匿名
作为一个程序员,郁闷的事情是,面对一个代码块,却不敢去修改。更糟糕的是,这个代码块还是自己写的。—— Peyton Jones
它在我的机器上可以很好运行!——大部分程序员
能说算不上什么,有本事就把你的代码给我看看。——Linus Torvalds,Linux之父
我认为对象就像是生物学里的细胞,或者网络中的一台计算机,只能够通过消息来通信——Alan Kay,Smalltalk的发明人,面向对象之父
当你选择了一种语言,意味着你还选择了一组技术、一个社区。——Joshua Bloch
质量、速度、廉价,选择其中两个。——匿名
过早的优化是罪恶之源。——Donald Knuth
没有什么代码的执行速度比空代码更快。——Merb核心原则
如果你是房间里最聪明的人,那么你走错房间了。——匿名
如果只需更改一个单一的代码行,你的部门需要花费多长时间?——Mary Poppendieck
九个人不能让一个孩子在一个月内出生。——Fred Brooks,《人月神话》作者
好代码本身就是最好的文档。当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释。——Steve McConnell,Code Complete 作者
一个人在教会电脑之前,别说他真正理解这个东西了。——Donald Knuth

UNIX理念

工程构建

maven

gradle

基于Goovy的Gradle

Gradle的安装非常方便,下载ZIP包,解压到本地目录,设置 GRADLE_HOME 环境变量并将 GRADLE_HOME/bin 加到 PATH 环境变量中,安装就完成了。

类似于Maven的pom.xml文件,每个Gradle项目都需要有一个对应的build.gradle文件,该文件定义一些任务(task)来完成构建工作

代码版本控制

git

svn

Kotlin

kotlin是由IntelliJ IDEA的开发商Jetbrain推出的一种基于JVM的开发语言,目标是简化Java中很多繁琐的设计,可以和Java无缝的集成

Springboot使用Kotlin和Java混合编程

微服务

以前一个大型应用程序搞定所有需求

现在更倾向于把大型应用程序切分成多个微服务,服务之间通过 RPC 调用

微服务架构的好处

服务之间相互隔离,减少宕机,不可用的概率

让专门的api去负责专门的事情

small is beautiful

APIs as a product

DevOps(Development&Operations)

软件生命周期融合

PD

Dev

QA

Ops

Rest API

使用Spring Boot&Swagger快速构建REST API并生成优美的API文档

登录 后评论
下一篇
我是小助手
32117人浏览
2019-07-31
相关推荐
微服务构建: Spring Boot
443人浏览
2018-08-11 16:24:57
Java后端工程师学习大纲
6387人浏览
2018-02-09 15:32:00
深入学习微框架:Spring Boot
788人浏览
2016-03-18 16:08:10
Spring Boot 项目搭建
613人浏览
2018-08-31 12:12:34
技术博客那些事儿
740人浏览
2017-07-18 09:17:00
Spring Cloud Consul入门
730人浏览
2017-12-28 23:57:00
技术超神之路
386人浏览
2018-03-02 14:35:00
为什么要学习 Spring Boot?
554人浏览
2019-03-05 18:06:12
0
0
0
1255