热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

《SpringBoot开发:从0到1》大纲结构v2.0第一部分SpringBoot基础第1章SpringBoot史前简述1.1J2EE(Java2Pla
《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编程简史


1233356-a5d1edf135c517c9.png
1233356-0dfc6b994d42ded5.png
1233356-e7c457be5797122e.png
《Springboot极简教程》大钢结构v1.0.1
1233356-84b192237caed5dc.png
《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编程简史

1233356-886f2021442f6b26.png
《Springboot极简教程大纲结构v1.0.0》

《Spring Boot极简教程》大纲结构v0.0.3
1233356-ae793a4b23593a42.png
《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
1233356-bc9092def57a65cd.png
《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
1233356-ee261d36c4b2b015.png
极简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文档


推荐阅读
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了SpringCloudRibbon部分源码相关的知识,希望对你有一定的参考价值。1:ribbon是提供通过servi ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
author-avatar
helen女孩12_667
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有