## Springboot 2.0 概览
![](https://github.com/geekerstar/dive-in-springboot/blob/master/img/1.jpg)
## Question?
- Springboot是如何基于Spring Framwork逐步走向自动装配的?
- SpringApplication是怎样掌控Spring应用声明周期的?
- Springboot外部化配置与Spring Environment抽象之间是什么关系?
- Spring Web MVC向Spring Reactive WebFlux过渡的真实价值和意义?
## Springboot
- 组件自动装配:规约大于配置,专注核心业务
- 外部化配置:一次构建,按需调配,到处运行
- 嵌入式容器:内置容器,无需部署,独立运行
- Springboot Starter:简化依赖,按需装配,自我包含
- Production-Ready:一站式运维,生态无缝整合
## 核心
- 组件自动装配:模式注解、@Enable模块、条件装配、加载机制
- 外部化配置:Environment抽象、生命周期、破坏性变更
- 嵌入式容器:Servlet Web容器、Reactive Web容器
- Springboot Starter:依赖管理、装配条件、装配顺序
- Production-Ready:健康检查、数据指标、@Endpoint管控
## Springboot与Java EE规范
- Web:Servlet(JSR-315、JSR-340)
- SQL:JDBC(JSR-221)
- 数据校验:Bean Validation(JSR 303、JSR-349)
- 缓存:Java Caching API(JSR-107)
- WebSockets:Java API for WebSocket(JSR-365)
- Web Service:JAX-WS(JSR-224)
- Java管理:JMX(JSR 3)
- 消息:JMS(JSR-914)
## 目录
- 核心特性
- Web应用
- 功能扩展
- 数据相关
- 运维管理
## 核心特性
Springboot三大特性
- 组件自动装配:Web MVC、Web Flux、JDBC等
- 嵌入式Web容器:Tomcat、Jetty以及Undertow
- 生产准备特性:指标、健康检查、外部化配置等
### 组件自动装配
- 激活:@EnableAutoConfiguration
- 配置:/META-INF/spring.factories
- 实现:XXXAutoConfiguration
### 嵌入式Web容器
- Web Servlet:Tomcat、Jetty和Undertow
- Web Reactive:Netty Web Server
### 生产准备特性
- 指标:/actuator/metrics
- 健康检查:/actuator/health
- 外部化配置:/actuator/configprops
## Web应用
### 传统Servlet应用
- Servlet组件:Servlet、Filter、Listener
- Servlet注册:Servelet注解、Spring Bean、RegistrationBean
- 异步非阻塞:异步Servlet、非阻塞Servlet
### Spring Web MVC 应用
- Web MVC视图:模板引擎、内容协商、异常处理等
- Web MVC REST:资源服务、资源跨域、服务发现等
- Web MVC核心:核心架构、处理流程、核心组件
### Spring Web Flux 应用
- Reactor基础:Java Lambda、Mono、Flux
- Web Flux核心:Web MVC注解、函数式声明、异步非阻塞
- 使用场景:Web Flux的优势和限制
#### 性能测试
http://blog.ippon.tech/spring-5-webflux-performance-tests/
### Web Server 应用
- 切换Web Server
- 自定义Servlet Web Server
- 自定义 Reactive Web Server
![](https://github.com/geekerstar/dive-in-springboot/blob/master/img/2.jpg)
## 数据相关
### 关系型数据
- JDBC:数据源、JdbcTemplate、自动装配
- JPA:实体映射关系、实体操作、自动装配
- 事务:Spring事务抽象、JDBC事务处理、自动装配
## 功能扩展
### Springboot 应用
- SprigApplication:失败分析、应用特性、事件监听等
- Springboot配置:外部化配置、Profile、配置属性
- Spring boot Starter:Starter开发、最佳实践
## 运维管理
### Spring Boot Actuator
- 端点:各类Web和JMX Endpoints
- 健康检查:Health、HealthIndicator
- 指标:内建Metrics、自定义Metrics
## Spring Framework 手动装配
### Spring模式注解装配
- 定义:一种用于声明在应用中扮演着"组件"角色的注解
- 举例:@Component、@Service、@Configuration等
- 装配:`<context:component-scan>` 或 @ComponentScan
### Spring @Enable模块装配
- 定义:具备相同领域的功能组件集合,组合所形成一个独立的单元
- 举例:@EnableWebMvc、@EnableAutoConfiguration
- 实现方式:注解方式、编程方式
### spring 条件装配
- 定义:Bean装配的前置判断
- 举例:@Profile、@Conditional
- 实现:注解方式、编程方式
## Springboot 自动装配
- 定义:基于约定大于配置的原则,实现Spring组件自动装配的目的
- 装配:模式注解、@Enable模块、条件装配、工厂加载机制
- 实现:激活自动装配、实现自动装配、配置自动装配实现
没有合适的资源?快使用搜索试试~ 我知道了~
Java常用框架实战教程,包含Dubbo,Mybatis—Plus,Netty,POI,RabbitMQ,注解驱动开发
共639个文件
java:545个
xml:34个
jpg:10个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 38 浏览量
2024-05-15
13:43:34
上传
评论
收藏 1.5MB ZIP 举报
温馨提示
该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【技术】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
资源推荐
资源详情
资源评论
收起资源包目录
Java常用框架实战教程,包含Dubbo,Mybatis—Plus,Netty,POI,RabbitMQ,注解驱动开发 (639个子文件)
holiday6.bpmn 10KB
examine.bpmn 9KB
ExpenseProcess.bpmn 8KB
holiday5.bpmn 7KB
holiday4.bpmn 6KB
wordWrite.docx 2KB
spring.factories 155B
.gitignore 418B
hello.html 2KB
MyDataInfo.java 89KB
StudentPOJO.java 25KB
HelloResponse.java 24KB
OperationRequestProcessor.java 23KB
MockClient.java 22KB
LoginRequest.java 20KB
LoginResponse.java 18KB
HelloRequest.java 16KB
HighLevelApiTest.java 16KB
Player.java 16KB
MainConfigOfAOP.java 12KB
TransformationApp.java 12KB
ExcelTests.java 9KB
ExcelUtil.java 7KB
GroupTest.java 7KB
DataUtil.java 7KB
SearchServiceImpl.java 6KB
DataManager.java 6KB
ExcelWriterTest.java 6KB
NettyChatServer.java 6KB
EchoServerHandler.java 6KB
MyBeanCopy.java 6KB
DateUtilTest.java 5KB
ChatServer.java 5KB
ExtConfig.java 5KB
GroupChatServer.java 5KB
ExpenseController.java 5KB
BlogDemo.java 5KB
ConvertTest.java 5KB
BlogDemo.java 5KB
MicroBlogDemo.java 5KB
TestFlowable.java 4KB
EventTimeWMApp.java 4KB
NettyServerHandler.java 4KB
SourceApp.java 4KB
WindowApp.java 4KB
WriterHandler07.java 4KB
GlobalExceptionHandler.java 4KB
StateApp.java 4KB
VariableTest3.java 4KB
Hello.java 4KB
ImgUtilTest.java 4KB
EchoServer.java 4KB
SessionDemo.java 4KB
TodoEventDemo.java 4KB
TxConfig.java 4KB
NIOServer.java 4KB
MahjongEventExecutorGroup.java 3KB
JedisTest.java 3KB
GroupChatClient.java 3KB
CustomHandler.java 3KB
App.java 3KB
NettyServer.java 3KB
NettyServer.java 3KB
Player.java 3KB
ObserverTest.java 3KB
CheckpointApp.java 3KB
AsyncController.java 3KB
NettyServer.java 3KB
WebMvcConfig.java 3KB
GroupChatServerHandler.java 3KB
MainConfigOfAutowired.java 3KB
ExcelController.java 3KB
MyServer.java 3KB
NIOEchoServer.java 3KB
Mahjong.java 3KB
EchoClient.java 3KB
EchoClient.java 3KB
MainConfigOfProfile.java 3KB
EchoServer.java 3KB
MsgUtils.java 3KB
ProtobufServer.java 3KB
StartGameMsgProcessor.java 3KB
MainConfig2.java 3KB
WebSocketServer.java 3KB
BlogDemo.java 3KB
IOCTest.java 3KB
MyServer.java 3KB
InclusiveGateWayTest.java 3KB
QueryBpmnFile.java 3KB
ExclusiveGateWayTest01.java 3KB
CloneTest.java 3KB
MahjongClient.java 3KB
VariableTest2.java 3KB
ParallelGateWayTest.java 3KB
ApplicationEventListener.java 3KB
MahjongServer.java 3KB
ExclusiveGateWayTest02.java 3KB
MahjongServer.java 3KB
NettyClient.java 3KB
MomentsDemo.java 3KB
共 639 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
枫蜜柚子茶
- 粉丝: 8978
- 资源: 5351
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功