springboot基本介绍
学习目标
了解springboot是什么
了解springboot的特性
了解微服务架构
Spring与Springboot的关系
Spring的发展史
Spring是2003年兴起的一个轻量级的java开源框架,这个框架最初是为了解决企业级应用开发笨重臃肿的问题,宗旨就是简化开发。
AOP、IOC、Template
Springboot的诞生
随着Spring越来越火,Spring也慢慢从一个小而精的框架变成了一个覆盖面广大又全的框架,大量繁琐的XML配置和第三方整理配置.让Spring 使用者痛苦不已,这个时候急需一个解决方案来解决这些问题,故Springboot应运而生,2013年Springboot开始研发,2014年4月Spring boot1.0正式发布。
什么是Springboot
Spring boot 相对于Spring来说是一套全新的框架,它来自于Spring大家族,因此Spring所具备的功能它都有并更容易使用;同时还简化了基于Spring的应用开发,通过少量代码就能创建一个独立的、产品级别的Spring应用。
Spring Boot 默认配置了很多框架的使用方式,就想Maven整合了所有的jar包,Spring Boot整合了所有的框架。它的核心设计思想是:约定优于配置,Spring boot 所有开发细节都是依据此思想进行实现的。
Springboot简化开发Springboot的特性
(1)搭建项目快,几秒钟就可以搭建完成
(2)没有冗余代码生成和XML配置的要求
(3)开箱即用,提供各种默认配置来简化项目配置
(4)内嵌容器,省去了配置Tomcat的繁琐
(5)Start自动依赖和版本控制
(6)方便监控,使用 Spring Boot Actuator组件提供了应用的系统监控,可以查看应用配置的详细信息
什么是微服务
微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合;可以通过http的方式进行互通。
单体架构和微服务架构
什么是单体架构
所谓单体应用架构(all in one) 是指我们将一个应用中的所有服务都封装在一个应用中。无论是erp、crm或是其他什么系统,你都把数据库访 问,web访问,等等各个功能放到一个war包内。
单体架构优缺点
优点:易于开发和测试;十分方便部署;当需要扩展时,只需要将war复制多份,然后放到多个服务器上,再做个负载均衡就可以了。
缺点:项目过于臃肿;资源无法隔离;无法灵活扩展;
什么是微服务架构
所谓微服务架构,就是打破之前all in one的架构方式,把每个功能元素独立出来。把独立出来的功能元素的动态组合,需要的功能元素才去拿来 组合,需要多一些时可以整理多个功能元素。所以微服务架构是对功能元素进行复制,而没有对整个应用进行复制。
微服务架构优点
节省了调用资源。每个功能元素的服务都是一个可替换的、可独立升级的软件代码。
单体架构和微服务架构区别
单体架构与微服务架构的区别如何构建微服务
一个大型系统的微服务架构,就像一个复杂交织的神经网络,每一个神经元就是一个功能元素,它们各自完成自己的功能,然后通过http或者rpc相互请求调用。但这种庞大的系统架构给部署和运维带来了很大的难度,于是,spring为我们带来了构建大型分布式微服务的全套、全程产品:
(1)构建一个个功能独立的微服务应用单元,可以使用springboot,可以帮我们快速构建一个应用;
(2)大型分布式网络服务的调用,这部分有spring cloud来完成,实现分布式;
(3)在分布式中间,进行流式数据计算、批处理,采用spring cloud data flow;