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

《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文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,087评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,293评论 6 344
  • 文|璇子 那一缕清风 解不开夜深人静的谜语 那荡漾在湖泊上的波痕 水草倒映着颤颤的孤影 着了谁的迷,夜的荒凉 却成...
    花非物欲阅读 231评论 0 4
  • 一首歌,一张照片,太容易被时光附上意义。它们说不上伴你成长,却总在不经意间。出现在你的脑海里,填充些什么。 ▁▁▁...
    三层楼阅读 504评论 4 5
  • 是的,在《人民的名义》后,我迷上了《我的前半生》。师太的书没看过一本,身边有朋友对师太甚是喜欢,但说实话我真的不...
    她叫我郭大宝阅读 367评论 0 2