为什么要使用SpringBoot

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 为什么要使用SpringBoot

点击蓝字“程序员考拉”欢迎关注!

为什么要使用SpringBoot

 

一、什么是SpringBoot

在使用传统的Spring去做Java EE(Java Enterprise Edition)开发中,大量的 XML 文件存在于项目之中,导致JavaEE项目变得慢慢笨重起来,,繁琐的配置和整合第三方框架的配置,导致了开发和部署效率的降低。

Spring Boot 并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。同时它集成了大量常用的第三方库配置,Spring Boot应用中这些第三方库几乎可以是零配置的开箱即用(out-of-the-box),大部分的 Spring Boot 应用都只需要非常少量的配置代码(基于 Java 的配置),开发者能够更加专注于业务逻辑。

二、为什么学习SpringBoot

1.从官方来看

为什么要使用SpringBoot

2.从Spring的优点来看

为什么要使用SpringBoot

①良好的基因

因为SpringBoot是伴随着Spring 4.0而生的,boot是引导的意思,也就是它的作用其实就是在于帮助开发者快速的搭建Spring框架,因此SpringBoot继承了Spring优秀的基因,在Spring中开发更为方便快捷。

②简化编码

比如我们要创建一个 web 项目,使用 Spring 的朋友都知道,在使用 Spring 的时候,需要在 pom 文件中添加多个依赖,而 Spring Boot 则会帮助开发着快速启动一个 web 容器,在 Spring Boot 中,我们只需要在 pom 文件中添加如下一个 starter-web 依赖即可。

1234
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency

dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-web/artifactId
/dependency

我们点击进入该依赖后可以看到,Spring Boot 这个 starter-web 已经包含了多个依赖,包括之前在 Spring 工程中需要导入的依赖,我们看一下其中的一部分,如下:

1234567891011121314151617
!-- .....省略其他依赖 -- dependency groupIdorg.springframework/groupId artifactIdspring-web/artifactId version5.0.7.RELEASE/versionscopecompile/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.0.7.RELEASE/versionscopecompile/scope/dependency

!– …..省略其他依赖 –

dependency

groupIdorg.springframework/groupId

artifactIdspring-web/artifactId

version5.0.7.RELEASE/version
scopecompile/scope
/dependency
dependency
groupIdorg.springframework/groupId
artifactIdspring-webmvc/artifactId
version5.0.7.RELEASE/version
scopecompile/scope
/dependency

由此可以看出,Spring Boot 大大简化了我们的编码,我们不用一个个导入依赖,直接一个依赖即可。

③简化配置

Spring 虽然使Java EE轻量级框架,但由于其繁琐的配置,一度被人认为是“配置地狱”。各种XML、Annotation配置会让人眼花缭乱,而且配置多的话,如果出错了也很难找出原因。Spring Boot更多的是采用 Java Config 的方式,对 Spring 进行配置。举个例子:

我新建一个类,但是我不用 @Service注解,也就是说,它是个普通的类,那么我们如何使它也成为一个 Bean 让 Spring 去管理呢?只需要@Configuration 和@Bean两个注解即可,如下:

12345678910111213141516
public class TestService {  public String sayHello () {    return "Hello Spring Boot!";  }} import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration; @Configurationpublic class JavaConfig {@Bean  public TestService getTestService() {    return new TestService();  }}

public class TestService {
  public String sayHello () {
    return “Hello Spring Boot!”;
  }
}

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JavaConfig {
@Bean
  public TestService getTestService() {
    return new TestService();
  }
}

@Configuration表示该类是个配置类,@Bean表示该方法返回一个 Bean。这样就把TestService作为 Bean 让 Spring 去管理了,在其他地方,我们如果需要使用该 Bean,和原来一样,直接使用@Resource注解注入进来即可使用,非常方便。

@Resource private TestService testService;

另外,部署配置方面,原来 Spring 有多个 xml 和 properties配置,在 Spring Boot 中只需要个 application.yml即可。

④简化部署

在使用 Spring 时,项目部署时需要我们在服务器上部署 tomcat,然后把项目打成 war 包扔到 tomcat里,在使用 Spring Boot 后,我们不需要在服务器上去部署 tomcat,因为 Spring Boot 内嵌了 tomcat,我们只需要将项目打成 jar 包,使用 java -jar xxx.jar一键式启动项目。另外,也降低对运行环境的基本要求,环境变量中有JDK即可。

⑤简化监控

我们可以引入 spring-boot-start-actuator 依赖,直接使用 REST 方式来获取进程的运行期性能参数,从而达到监控的目的,比较方便。但是 Spring Boot 只是个微框架,没有提供相应的服务发现与注册的配套功能,没有外围监控集成方案,没有外围安全管理方案,所以在微服务架构中,还需要 Spring Cloud 来配合一起使用。

3.从未来发展趋势看

微服务是未来发展的趋势,项目会从传统架构慢慢转向微服务架构,因为微服务可以使不同的团队专注于更小范围的工作职责、使用独立的技术、更安全更频繁地部署。而 继承了 Spring 的优良特性,与 Spring 一脉相承,而且 支持各种REST API 的实现方式。Spring Boot 也是官方大力推荐的技术,可以看出,Spring Boot 是未来发展的一个大趋势。

 

作者:小猛同学 

来源:CSDN 

原文:https://blog.csdn.net/qq_32595453/article/details/81141643 

 

欢迎点赞分享到朋友圈!

为什么要使用SpringBoot

 

原文始发于微信公众号(程序员考拉):

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 为什么要使用SpringBoot


 上一篇
Springboot-Redis分布式锁 Springboot-Redis分布式锁
作者:Mr—Dmy.oschina.net/dengfuwei/blog/1600681 温馨提示:文中代码看不全可左右滑动 随着现在分布式架构越来越盛行,在很多场景下需要使用到分布式锁。分布式锁的实现
下一篇 
给你一份Spring Boot核心知识清单 给你一份Spring Boot核心知识清单
作者:melonstreet cnblogs.com/QG-whz/p/9636366.html 预警:本文非常长,建议先 mark 后看。 说明:前面有 4 个小节关于 Spring 的基础知识,分别是:IOC