【目标】
- 什么是SpringBoot?
并不是新技术,只是一个Spring的加强
解脱XML配置,增加了新的注解,但是并不是新的内容
- 新型配置文件技术 YAML
- 自动装配原理【了解即可,不懂也正常】
- 集成Web开发
- 集成数据库访问
- 分布式开发:Dubbo + ZooKeeper
- 接口文档生成:Swagger
- 任务调度?
- 安全控件【SpringSecurity、Shiro】
【SpringCloud】
- 微服务是什么?
- Full RestFul 风格
- 服务注册 & 发现 Eureka
- 负载均衡:Ribbon、Feign【Nginx】
- 服务熔断? HyStrix
- 路由网关 Zuul
- SpringCloud Config
【Linux】
【JVM】
什么是SpringBoot?
Spring是一个开源免费的框架,2003年兴起的轻量级Java开发框架
作者Rod Johnson
Spring是为了解决企业级应用开发的复杂性而创建的,
其目的在于简化开发
SpringBoot是一个JavaWeb的开发框架
和SpringMVC类似,简化开发,约定大于配置
基于Spring容器的应用程序,优点:
- 快速入门【极速上手】
- 开箱即用
- 内嵌式容器简化Web工程
- 不写XML
最底层的结构演变:
指针、数据结构、算法、集合框架、面向对象、框架、
如何简化开发?
4种关键策略:
1、最小入侵性编程,基于JavaBean
2、反转控制IOC,依赖注入,和面向接口,解耦合,控制对象
3、采用AOP方式,声明式切面插入
4、高度可重用的代码被封装为【Template】模板
什么是微服务架构?
是一种架构风格,开发一个应用必须构建成一系列的小服务的组合,
按Http的方式交互,这要和单体应用进行对比
什么是单体应用架构?
All in One 所有服务封装于一个应用中
好处:
方便开发和测试,扩展只需要复制多个war包
放到服务器上面,均衡负载即可
坏处:
修改必须终止服务,然后重新打包部署
大型应用的维护无法满足
再谈架构设计:
MVC三层架构
- Model 数据模型层
- View 视图路由层
- Controller 控制处理层
MVVM
- Model 数据模型层
- View 视图路由层
- ViewModel 视图模型层
难以找到的Boot官方文档:
https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#common-application-properties