【Spring Boot】一、为什么要使用Spring Boot

前言:

为什么越来越多的开发者选择使用Spring Boot,其实要弄明白这其中的缘由,只需要理清web应用开发的背景以及发展,这背后的原因自然就纤毫毕现了。

先来说说我的看法:Spring Boot是随着Spring 4.0出生的,他的出现,目的是为了解决Spring这么多年来的发展导致本身的笨重、各类繁琐及与第三方框架整合的配置文件,对于码农或项目团队来说,是不希望见到的。因此Spring Boot的出现是为了解决Spring多年发展带来的弊端。

web应用开发背景:

使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架,库以及整个生态系统。经过这么长时间的发展,Java作为一个成熟的语言,也演化出了非常成熟的生态系统,这也是许多公司采用Java作为主流的语言进行服务器端开发的原因,也是为什么Java一直保持着非常活跃的用户群。

最受Java开发者喜好的框架当属Spring,Spring也成为了在Java EE开发中真正意义上的标准,但是随着新技术的发展,脚本语言大行其道的时代(Node JS,Ruby,Groovy,Scala等),Java EE使用Spring逐渐变得笨重起来,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题。

这些问题在不断的社区反馈下,Spring团队也开发出了相应的框架:Spring Boot。Spring Boot可以说是至少近5年来Spring乃至整个Java社区最有影响力的项目之一,也被人看作是:Java EE开发的颠覆者!

Spring Boot解决的问题:

(1) Spring Boot使编码变简单

(2) Spring Boot使配置变简单

(3) Spring Boot使部署变简单

(4) Spring Boot使监控变简单

(5) 解决了Spring的不足

Spring Boot的主要特性:

(1)遵循“习惯优于配置”的原则,使用Spring Boot只需要很少的配置,大部分的时候我们直接使用默认的配置即可; 
(2)项目快速搭建,可以无需配置的自动整合第三方的框架; 
(3)可以完全不使用XML配置文件,只需要自动配置和Java Config; 
(4)内嵌Servlet容器,降低了对环境的要求,可以使用命令直接执行项目,应用可用jar包执行:java -jar; 
(5)提供了starter POM, 能够非常方便的进行包管理, 很大程度上减少了jar hell或者dependency hell; 
(6)运行中应用状态的监控; 
(7)对主流开发框架的无配置集成; 

(8)与云计算的天然继承;

Spring Boot的核心功能:

(1)独立运行的Spring项目

Spring Boot可以以jar包的形式进行独立的运行,使用:java -jar xx.jar 就可以成功的运行项目,或者在应用项目的主程序中运行main函数即可;

(2)内嵌的Servlet容器

内嵌容器,使得我们可以执行运行项目的主程序main函数,是想项目的快速运行;

主程序代码SpringbootDemoApplication.java

package com.ceshi.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootDemoApplication.class, args);
    }
}

(3)提供starter简化Manen配置

Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖

可参考官网,https://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/htmlsingle/#using-boot-starter

(4)自动配置Spring

Spring Boot会根据我们项目中类路径的jar包/类,为jar包的类进行自动配置Bean,这样一来就大大的简化了我们的配置。当然,这只是Spring考虑到的大多数的使用场景,在一些特殊情况,我们还需要自定义自动配置;

(5)应用监控

Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控

(6)无代码生成和XML配置

Spring Boot神奇的地方不是借助于代码生成来实现的,而是通过条件注解的方式来实现的,这也是Spring 4.x的新特性。




你可能感兴趣的:(【Spring,Boot】)