zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SpringBoot | 1.1 SpringBoot简介

2023-02-26 12:27:01 时间

1. SpringBoot是什么?

SpringBoot是一个Java后端框架,一种全新的编程规范,它的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。

2. 为什么是SpringBoot?

笔者认为SpringBoot的出现与发展符合时代需求,主要基于以下几点原因:

其一是为简化开发:

(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>

在当前互联网后端开发中,JavaEE占据主要地位。对于JavaEE开发,首选Spring框架。在传统Spring开发中,需要大量XML配置才能运行。直到Spring 4.x的发布,Spring才能完全脱离XML使用纯注解开发。为了进一步简化开发,2014年SpringBoot 1.0诞生。随着2017年9月Spring 5.x的推出,2018年SpringBoot 2.x推出,至今为2.5.1。

其二是为适应微服务开发:

微服务这一概念是最近几年才兴起的。随着互联网业务量的指数级扩大,传统开发无法满足快速扩容、处理高并发请求等要求。

而微服务为我们解决了快速响应与弹性伸缩的问题。微服务本质上是将一个大的系统拆分为多个子系统,然后通过REST风格的请求将他们集成,进一步简化分布式系统开发。

3. 约定大于配置

SpringBoot的核心概念是:约定大于配置

能理解这句话就学会一大半了。这里笔者谈谈自己的理解:

我们知道SpringBoot是从Spring发展而来的,而开发一个Spring应用需要大量配置,这些配置多种多样。而SpringBoot要做的事就是针对不同场景提供一个或多个starter(自启动依赖),我们引入这个starter就能使用SpringBoot默认的约定,加上属性文件,做大量自定义配置,简化开发。

以下涉及源码分析,需要一定基础,后续文章会结合案例分析。

从具体流程上看:导入starter场景启动器后,根据SpringBoot的默认规定,首先找到META-INF包下的spring.factories工厂,通过读取EnableAutoConfiguration(自动启动配置,下称自启动)属性的值获取启动时加载的类 :XXXAutoConfiguration(XXX自动配置类)。在自动配置类里,利用@Bean注解把场景下相关组件注册进容器中。

@Bean在这里起到重要作用:

  • 用Spring的话说就是将对象的创建交给Bean factory(bean工厂),即控制反转IOC;
  • 用Java的话就是利用Java的class类(反射机制),使对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它)

这些组件的核心配置项会通过@EnableConfigurationProperties注解跟XXXProperties配置文件绑定。

由此我们可以获得配置类XXXAutoConfiguration配置项XXXProperties信息,其中:

  • 配置类XXXAutoConfiguration里配置了核心组件;
  • 配置项XXXProperties里包含需要修改的配置属性与默认参数;

    配置项XXXProperties里主要包含两个信息:

    • [email protected]�件的前缀prefix=Constants.XXX;

      • 其二是配置项可修改的参数(YYY)名称及参数(ZZZ)。我们在yml里通过[前缀.参数名称=参数](XXX.YYY=ZZZ)修改默认参数;

SpringBoot | 1.1 SpringBoot简介


本站部分内容转载自网络,版权属于原作者所有,如有异议请联系QQ153890879修改或删除,谢谢!
转载请注明原文链接:SpringBoot | 1.1 SpringBoot简介

你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:

1、点击这里立即申请成为腾讯云VIP客户

2、点击这里立即注册成为天翼云VIP客户

3、点击这里立即申请成为华为云VIP客户

4、点击这里立享阿里云产品终身VIP优惠价

喜欢 (0)
[[email protected]]
分享 (0)