SpringBoot(一)起源及启动方式

Spring各大版本的主要差异性

1.1 Spring 1.0时代
习惯用XML文件来配置 Bean,在 XML 文件中可以轻松地进行依赖注入,但当Bean 的数量越来越多时,XML 配置 也会越来越复杂,少则上百行,多则上千行,没有人愿意维护一大段XML配置。紧接着Spring 2.0很快到来了。

1.2 Spring 2.0时代
它在XML 命名空间上做了一定的优化,让配置看起来尽可能简单,但仍然没有彻底地解决配置上的问题。

1.3 Spring 3.0时代
直到Spring 3.0的出现,可以使用Spring提供的Java 注解来取代曾经的XML配置上的问题,似乎我们都忘记曾经发生过了什么 ,Spring 变得前所未有的简单。这也就是为什么 Spring3.0至今都还有不少团队仍在使用。

1.4 Spring 4.0时代
Spring 4.0出现后,我们甚至连 XML配置 文件都不再需要了,完全使用Java源码级别的配置 与Spring 提供的注解就能快速开发出 Spring 的应用程序。

尽管Spring4.0已经非常优秀了,但仍然无法改变Java Web应用程序的运行模式,我们仍然需要将war部署到Web Server 上,才能对外提供服务。
能否运行一个简单的main()方法就能启动一个Web Server 呢?Spring Boot满足了我们的这种需求。

SpringBoot

SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。
它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。
另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决

简而言之,我们可以说Spring Boot只是Spring本身的扩展,使开发,测试和部署更加方便。

Spring和Spring Boot中应用程序引导的基本区别在于servlet。
Spring使用web.xml 或SpringServletContainerInitializer作为其引导入口点。
Spring Boot仅使用Servlet 3功能来引导应用程序,下面让我们详细来了解下:

5.1、Spring 是怎样引导配置的呢?
Spring支持传统的web.xml引导方式以及最新的Servlet 3+方法。

让我们看一下 web.xml方法的步骤:
Servlet容器(服务器)读取web.xml
web.xml中定义的DispatcherServlet由容器实例化
DispatcherServlet通过读取WEB-INF / {servletName} -servlet.xml来创建WebApplicationContext
最后,DispatcherServlet注册在应用程序上下文中定义的bean

5.2、SpringBoot 有是如何配置的呢?
Spring Boot应用程序的入口点是使用**@SpringBootApplication**注释的类:
默认情况下,Spring Boot使用嵌入式容器来运行应用程序。
在这种情况下,Spring Boot使用public static void main入口点来启动嵌入式Web服务器。
此外,它还负责将Servlet,Filter和ServletContextInitializer bean从应用程序上下文绑定到嵌入式servlet容器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值