Spring、SpringBoot和SpringCloud的基础入门

在JAVA项目开发过程中,我们常常会使用开源的基础框架再引入一些中间件来快速的搭建一个项目,然后进行二次开发 。先说中间件,有我们比较常用的RabbitMQ/RocketMQ/Kafka、redis、Dubbo、Zookeeper等等 。再说核心基础框架,现在比较通用的是Spring、SpringBoot和SpringCloud 。那么今天我们按照Spring、SpringBoot、SpringCloud这个顺序来认识一下Spring家族以及他们各自扮演的角色 。

Spring、SpringBoot和SpringCloud的基础入门

文章插图
 
一、Spring框架(Spring Framework)
Spring、SpringBoot和SpringCloud的基础入门

文章插图
 
Spring是一个轻量级的容器框架 。这个框架最初是为了解决EJB开发笨重臃肿的问题,Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情,为J2EE提供了另一种简单又实用的解决方案,Spring被认为是一个低成本、安全、灵活的框架 。Spring提高了编码效率并减少了整体开发时间,因为它是轻量级的,有效地使用系统资源并提供了出色的开发体验 。Spring消除了繁琐的配置工作,让开发人员可以专注于创建有效的业务逻辑 。Spring负责基础设施,以便开发人员可以专注于应用程序 。它的主要特点就是面向切面(AOP)和控制反转(IOC) 。
补充说明:EJB属于分布式开发,但是目前市场中小型企业都是非分布式项目,所以为了应市场要求,springBoot横空出世,恰恰解决了中小企业的问题,springBoot诞生就是市场的应召的微服务 。举个例子,EJB就是导弹,专门设计为打高空飞机 。但是现在发现飞机不多 。于是将它用来对付步兵,这个实在太糟糕了 。这个时候有人发明了狙击步枪(Spring),发现对付步兵使用阻击步枪太好用了 。这里面导弹和阻击步枪都可以实现打步兵的目的,但使用导弹代价太高 。狙击枪才是最好的选择 。
搭建纯Spring项目Demo步骤 。
1.使用idea构造一个Spring项目,命名为SpringDemo,会自动加载jar包,在SpringDemo项目的lib目录下
2.在src目录下建立两级目录com.cn,并在此目录下编写一个接口Api,和两个接口实现类ApiImplOne,ApiImplTwo 。
Spring、SpringBoot和SpringCloud的基础入门

文章插图
 
3.在src目录下编写Spring的配置文件ApplicationContext.xml(这里不考虑数据库的配置等)
Spring、SpringBoot和SpringCloud的基础入门

文章插图
 
4.编写测试类TestDemo,运行,查看控制台打印结果
Spring、SpringBoot和SpringCloud的基础入门

文章插图
 
二、SpringBoot框架
SpringBoot是Spring的升级版,Spring Boot 基本上是 Spring 框架的扩展,它消除了设置 Spring 应用程序所需的 XML配置,为更快,更高效的开发生态系统铺平了道路 。可以理解为Spring Boot就是一个基于Spring的套件,它帮我们预组装了Spring的一系列组件,以便以尽可能少的代码和配置来开发基于Spring的Java应用程序 。
Spring、SpringBoot和SpringCloud的基础入门

文章插图
 
举个例子说明:
【Spring、SpringBoot和SpringCloud的基础入门】如果我们想组装一辆汽车,我们需要发动机、轮胎、底盘、外壳、座椅、内饰等各种部件,然后把它们装配起来 。Spring就相当于提供了一系列这样的部件,但是要装好汽车上路,还需要我们自己动手 。而Spring Boot则相当于已经帮我们预装好了一辆可以上路的汽车,如果有特殊的要求,例如把发动机从普通款换成涡轮增压款,可以通过修改配置或编写少量代码完成 。
基于SpringBoot框架,我们可以集成其他的技术,比如Redis、RabbitMqRockerMQKafka、Zookeeper、Dubbo、quartz、logback、OSSOBS、jenkins、ELK 等,这些是需要额外的编写代码或者配置集成的 。


推荐阅读