简介
springboot 简化spring应用开发的一个框架,是整个spring技术栈的大整合,是J2EE开发的一站式解决方案。
优点:
- 快速创建独立运行的spring项目以及主流框架集成
- 使用嵌入式的servlet容器,应用无需打成war包。可以直接打成jar包,用java -jar的命令来运行
- starters(也称为启动器)自动依赖管理与版本控制(比如要用web功能就导入web的starter.web功能里中要带的jar包以及每个jar包的版本springboot都帮我们控制好了,要用JDBC就导入JDBC相关的statter,要用redis就导redis相关的starter等等 就是说所有企业级开发场景都有相关启动器来导入所需依赖和版本控制)
- 大量的自动配置,简化开发,也可修改默认值(只需要从一个微小的入口进入,无需做太多配置,就可以启动应用,也可以修改默认的值)
- 无需配置xml,无代码生成,开箱即用(不编写xml的情况下,springboot不是代码生成了xml,而是用写好的api帮我们自动配置好了。直接创建出来就能用了)
- 准生产环境的运行时应用监控(运维期间,可以非常快速的开发监控应用的健康状态和服务的状态的功能)
- 与云计算的天然集成
缺点:可能入门容易精通难。他是基于spring的再封装。
要学好spring。
微服务
2014,martin fowler
微服务:架构风格
一个应用应该是一组小型服务:可以通过http方式进行互通。
(之前的架构:单体应用:ALL IN ONE .开发一个应用,是把应用打包成war包,部署在tomcat里面,应用访问数据库,提供前端访问的页面。应用就跑起来了。
优点:开发测试简单,因为是一个应用,不牵扯多个应用间互联互调。部署也简单,只需要把整个应用打成war包,然后放到tomcat服务器上,不会对运维造成太大困难。扩展也比较简单,当应用负载能力不行时,把相同的应用复制几份放在几个服务器里面,让几个服务器都来跑这个应用,通过负载均衡机制就可提高并发能力
缺点:因为一点小小修改就得重新来部署。
日益增长的软件需求,随便一个应用都可能成为一个大型应用,我们不可能把所有功能全都写在里面,该怎么分工合作,怎么维护等都是一个问题。
)
微服务架构把每个功能元素放进一个独立的服务中,并且通过跨服务器分发这些服务进行扩展,只在需要时进行复制。
每个功能元素最终都是一个可独立替换,独立升级的软件单元。
(挑战:整个功能单元不断微化,如何维护如何部署呢,
按照以前的模式,创建项目搭建环境都需要做很久
)
于是来到springboot,可以快速构建应用。
整个应用大型的分布式网之间怎么互调?spring Cloud。
分布式中间进行流式数据计算、批处理?spring Cloud Data Flow。
学习springboot前要会什么
spring框架的使用经验
熟练使用maven进行项目构建和依赖管理
熟练使用eclipse或者idea