springboot概述_已进入fastboot

springboot概述_已进入fastbootSpringBoot概述SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。使用SpringBoot可以做到专注于Spring应用的开发,而无需过多关注XML的配置。SpringBoot使用“习惯优于配置”的理念,简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用SpringBoot可以不用或者只…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Spring Boot概述

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。使用Spring Boot可以做到专注于Spring应用的开发,而无需过多关注XML的配置。Spring Boot使用“习惯优于配置”的理念,简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用Spring Boot可以不用或者只需要很少的Spring配置就可以让企业项目快速运行起来。

Spring Boot是开发者和Spring 本身框架的中间层,帮助开发者统筹管理应用的配置,提供基于实际开发中常见配置的默认处理(即习惯优于配置),简化应用的开发,简化应用的运维;总的来说,其目的Spring Boot就是为了对Java web 的开发进行“简化”和加“快”速度,简化开发过程中引入或启动相关Spring 功能的配置。这样带来的好处就是降低开发人员对于框架的关注点,可以把更多的精力放在自己的业务代码上。

同时随着微服务概念的推广和实践,Spring Boot的精简理念又使其成为Java微服务开发的不二之选,也可以说,Spring Boot其实就是为了微服务而生的Java web框架。

先如今,Spring Boot已经在蓬勃发展的快速应用开发领域(rapid application development)成为领导者

1.2.2 Spring Boot的核心功能

1、 可独立运行的Spring项目:Spring Boot可以以jar包的形式独立运行。

2、 内嵌的Servlet容器:Spring Boot可以选择内嵌Tomcat、Jetty或者Undertow,无须以war包形式部署项目。

3、 简化的Maven配置:Spring提供推荐的基础 POM 文件来简化Maven 配置。

4、 自动配置Spring:Spring Boot会根据项目依赖来自动配置Spring 框架,极大地减少项目要使用的配置。

5、 提供生产就绪型功能:提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。

6、 无代码生成和xml配置:Spring Boot不生成代码。完全不需要任何xml配置即可实现Spring的所有配置。

我们的主要目标是:

  • 为所有Spring开发提供一个更快,更广泛的入门体验。
  • 立即开始斟酌,但随着需求开始偏离默认值,快速避开
  • 提供大型项目(如嵌入式服务器,安全性,指标,运行状况检查和外部配置)通用的一系列非功能性功能。
  • 绝对不会生成代码,并且不需要XML配置。

1.2.3SpringBootB的相关好处

A.为什么要用SpringBoot?

B.什么是SpringBoot?

C.SpringBoot与SpringCloud 的区别?

D.SpringBoot与SpringMVC 的区别?

(一)为什么要用SpringBoot?

以往的项目整合起来是比较繁琐复杂的,而且存在架包冲突的问题,这时候SpringBoot应运而生了,SpringBoot也就是用来做这个的。

(二)什么是SpringBoot?

SpringBoot是一个快速开发的框架,能过快速整合第三方框架,他是如何快速整合的呢?其实他是的基本原来是Maven依赖关系,Maven的集成,完全采用注解化,简化XML配置,内嵌HTTP服务器(Tomcate,jetty),默认嵌入Tomcate,最终以Java应用程序进行执行。

总结一下:

1.SpringBoot是微服务框架(网上很多这样说的朋友,其实并不合理,后面我们总结也SpringCloud的时候在细说)

2.SpringBoot核心:快速整合第三方框架

3.SpringBoot原理:Maven依赖关系,Maven的继承,完全采用注解化,Spring3.0以后采用注解方式启动SpringMVC

(三)SpringBoot与SpringCloud 的区别?

1.SpringBoot快速开发框架,快速整合第三方框架(Maven依赖关系###Maven继承),完全采用注解化,简化XML配置,最终以java应用程序进行执行。

2.SpringCloud一套目前完整的微服务解决框架,功能非常强大,注册中心,客户端调用工具,服务治理(负载均衡,断路器,分布式配置中心,网管,消息总线等)。

3.关系:微服务通讯技术Http+json(restfull)轻量级,SpringBoot Web组件默认集成SpringMVC,SpringCloud依赖于SpringBoot实现微服务,使用SpringMVC编写微服务接口。

总结:

SpringCloud 微服务开发——RPC远程通讯技术,服务治理,单纯的只是集成SpringBoot实现快速开发。

(四)SpringBoot与SpringMVC 的区别?

说白了就是SpringBoot Web组件默认集成SpringMVC框架,SpringMVC3.0以后支持注解方式使用java代码启动SpringMVC。

1.2.4为什么学习SpringBoot

1.从官方来看

在这里插入图片描述

2.从Spring的优点来看

在这里插入图片描述

①良好的基因

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

②简化编码

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

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

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

<!-- .....省略其他依赖 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.0.7.RELEASE</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.0.7.RELEASE</version>
    <scope>compile</scope>
</dependency>

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

③简化配置

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

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

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 是未来发展的一个大趋势。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194195.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 一个喜欢研究车的80后开车人,自己的经验和感受英语_开老车的年轻人

    一个喜欢研究车的80后开车人,自己的经验和感受英语_开老车的年轻人1. 白色车,安全系数最高。       澳大利亚研究者新近发布调查报告,黑色汽车在白天与黑夜的事故率均高居榜首。在白天,黑色汽车比白色汽车事故率高12%,在黎明前和黄昏后则高47%。       特别是傍晚的时候,远处跑来一辆黑色轿车,总感觉像穿了隐形衣,我还是比较喜欢白色车,总是很显眼。在民间还有一种说法,白色汽车油耗低,原因是车…

  • PHP中include()与require()的区别说明

    PHP中include()与require()的区别说明

    2021年10月14日
  • python中什么是pep_python技术应用认证证书有用吗

    python中什么是pep_python技术应用认证证书有用吗Python作为目前业界最受欢迎的语言,是大部分数据分析相关从业人员的一项必备技能。对于很多0基础的小白,经常会问的问题就是,如何快速学习Python。在这里给大家介绍一个Python入门级的考试:PCEP-30-01Exam。证书介绍PCEP-30-01是PythonInstitute资格认证的初级程序员考试,考试的全称是:PCEPCertifiedEntry-LevelPythonProgrammer这个考试并不需要有任何基础,是最入门级别的考试,对于从事数据分析的小伙伴们,这门考试只是

  • ftp扫描软件_ftp管理工具

    ftp扫描软件_ftp管理工具ftp扫描工具种类繁多,使用者就会在五花八门的软件里面去挑选自己最喜欢最适合的软件去使用。就是不知道大家是怎么选择的,小编的选择方式特别简单,就是好用的就成,简单快捷方便明了就可以了。所以要在这么多的扫描工具中去选择,该怎么去选择适合自己的ftp扫描软件呢?这边给你们整理了几个好用的ftp扫描工具。第一款:IIS7服务器管理工具这款软件里面的ftp扫描工具可谓是做的非常好的,内容全面又容易上手。适合新手也适合长期从事网站管理的工作人员。IIS7服务器管理工具里面的ftp扫描工具不仅具有批量管理的功能,还

  • linux node升级_linux系统升级到指定版本

    linux node升级_linux系统升级到指定版本问题在docker容器中启动node项目,但不希望每次都要npmi,所以要把源代码采用挂载的方式,放在镜像中。需要在服务器中npmi,之后启动容器,结果报错了,原因是node版本不对。后来采用了先挂载安装包,后再启动容器。其实我们可以选择升级一下本地主机的node版本就方便多了升级nodenode-v 首先清理npm的缓存 npmcacheclean-f 安装版本管理工具 npminstall-gn 更新到最新的版本 nl..

  • ENVI5.3.1使用Landsat 8影像进行辐射定标和大气校正实例操作

    ENVI5.3.1使用Landsat 8影像进行辐射定标和大气校正实例操作ENVI5.3.1使用Landsat8影像进行辐射定标和大气校正实例操作

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号