目录
什么是SpringBoot?
SpringBoot是一个框架,基于Spring开发。SpringBoot本身不提供Spring框架的核心特性及拓展功能,只用是用于快速,敏捷地开发新一代基于Spring框架的应用程序。它不是替代Spring的方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。
SpringBoot以约定大于配置的核心思想,默认帮我们做了很多设置,多数的SpringBoot应用只需要很少的Spring配置,同时它集成了大量常用的第三方库配置,比如Redis,MongoDB,Jpa,RabbitMQ,Quartz等等。
简单来说,SpringBoot其实不是什么新框架,它默认配置了许多框架的使用方式。就像Maven整合了所有的jar包,SpringBoot整合了所有的框架。
(SpringBoot真是方便的让我叹为观止)
SpringBoot的主要优点
- 为spring开发更快速的入门
- 开箱即用,提供各种默认配置来简化项目配置
- 内嵌式容器简化Web项目
- 没有冗余代码生成和XML配置的要求
微服务
什么是微服务?
微服务是一种架构风格,它要求我们在开发应用的时候把应用构建成一系列小服务的组合,可以通过Http的方式进行互通。
谈微服务之前需要了解下单体应用架构。单体应用架构是指把一个应用的所有服务都封装在一个应用中。
也就是说,它把数据库访问,web访问等等功能都放在一个war包内,这样做利于开发和测试,也方便部署,在需要拓展的时候,只需要把war复制多份,然后放在多个服务器上做负载均衡,但这也就意味着,当我们要对项目进行修改,哪怕是很小的一个部分,都需要停掉服务,重新打包,部署这个应用的war包。
微服务架构则是把每个功能模块的元素独立出来,把独立的功能元素动态组合,把需要的功能才去拿去组合,需要多一些的时间可以整合多个功能元素,所以微服务架构是对功能元素进行复制,而没有对整个应用进行复制。
就好比一个电商系统,查缓存,连数据库,浏览页面,结账,支付等服务都是独立的功能服务,被微化了,他们作为一个个微服务共同构建了一个庞大的系统。如果需要修改其中一个功能,只需要更新升级其中一个功能服务单元即可。
SpringBoot和微服务有什么关系?
一个大型的微服务项目是很难部署和运维的,Spring为我们带来了构建大型分布式微服务全套,全程产品。
SpringBoot可以快速构建一个应用,而大型分布式网络的调用由SpringCloud来完成。
流式数据计算,批处理由spring cloud data flow来处理。
快速的搭建一个SpringBoot项目
其实官网就能帮我们办到这件事,https://start.spring.io/,通过这个网站快速构建一个项目。
选择Maven Project ,选择jJava语言,SpringBoot的版本,输入项目的group和artifact,Dependencies选择SpringWeb的依赖就可以,他会给你一个zip文件,解压好后就是一个工程,把它Import到IDE里就可以了。
但我们通常是通过IDEA来构建的。
一路构建下去就行了。
选择Spring Web的依赖,就能构建SpringBoot项目了。
一个SpringBoot项目就这么搭建好了,它自动生成了以下文件
- 程序的主程序类
- 一个 application.properties 配置文件
- 一个测试类
SpringbootApplication 和 SpringbootApplicationTests 都能直接运行
目前我们没有干任何事情,仅仅是创建了springboot这个项目,让我们运行SpringbootApplication来看看:
Tomcat启动了!
写个Controller试试看!
/**
* @author Claw
*/
@RestController
public class FirstController {
@RequestMapping("hello")
public String test(){
return "Hello!SpringBoot!";
}
}
能够访问,SpringBoot就是这么方便,我们没有配置任何东西,就能构建一个应用了!
参考:https://blog.kuangstudy.com/index.php/archives/601/,谢谢秦老师。