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

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 《Spring Boot开发:从0到1》 大纲结构v2.0第一部分Spring Boot基础第1章 Spring Boot史前简述1.1 J2EE(Java 2 Platform Enterprise Edition)简介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文档

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
2月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
48 4
|
16天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
29 2
|
2月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
58 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
2月前
|
XML Java 数据格式
提升效率!Spring Boot 开发中的常见失误轻松规避
本文深入探讨了在 Spring Boot 开发中常见的失误,包括不当使用注解、不良异常处理、低效日志记录等,提供了有效的规避策略,帮助开发者提升代码质量和系统性能,构建更健壮、高效的应用程序。
|
21天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
31 0
|
3月前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
2373 13
|
2月前
|
Java 数据库连接 Spring
【2021Spring编程实战笔记】Spring开发分享~(下)
【2021Spring编程实战笔记】Spring开发分享~(下)
30 1
|
2月前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
67 2
|
2月前
|
开发框架 Java API
「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架
「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架
60 0
|
2月前
|
XML Java 数据格式
手动开发-简单的Spring基于注解配置的程序--源码解析
手动开发-简单的Spring基于注解配置的程序--源码解析
47 0