Spring Boot简介

  1. 什么是Spring Boot

Spring Boot是由Pivotal团队提供的框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

Spring Boot并不是一个框架,从根本上将,它就是一些库的集合,maven或者gradle项目导入相应依赖即可使用Spring Boot,而且无需自行管理这些库的版本。。

2.为什么要使用Spring Boot;

Spring Boot是为简化Spring项目配置而生,使用它使得jar依赖管理以及应用编译和部署更为简单。Spring Boot提供自动化配置,使用Spring Boot,你只需编写必要的代码和配置必须的属性。

使用Spring Boot,只需20行左右的代码即可生成一个基本的Spring Web应用,并且内置了tomcat,构建的fat Jar包通过Java -jar就可以直接运行。

如下特性使得Spring Boot非常契合微服务的概念,可以结合Spring Boot与Spring Cloud和Docker技术来构建微服务并部署到云端:

一个可执行jar即为一个独立服务很容易加载到容器,每个服务可以在自己的容器(例如docker)中运行

通过一个脚本就可以实现配置与部署,很适合云端部署,并且自动扩展也更容易

简单而言,即Spring Boot使编码更简单,使配置更简单,使部署更简单,使监控更简单。!

3.Spring Boot提供哪些功能

  1. 无需手动管理依赖jar包的版本

Spring boot通过spring boot starter项目管理其提供的所有依赖的版本,当升级spring boot时,这些依赖的版本也会随之升级。个人无需指定版本号。

但是也可以自定义版本号覆盖springboot的默认值。每个版本的boot都有对应的base spring version,不建议明确地指定spring版本。

例如,使用maven时,只需简单的在pom中包含spring-boot-starter-web即引入了Spring MVC和Tomcat的依赖。

下面是Spring Boot在 org.springframework.boot 组下提供的一些Starters:

2.​​​​​​​小结

Springboot其本质还是spring相关的框架,不过为开发者提供了一系列默认的starter,大大降低了spring项目开发的配置工作,所谓约定大于配置。

但其也有缺点,就是使用简单,但很多原理性的东西可能对于不了解spring springMvc Mybatis Hibernate JPA等相关框架的开发者而言还是需要重新学习。

Spring boot入门

  1. 环境要求

开发环境JDK 1.8

项目管理工具( Maven )

开发工具(Eclipse)

2.​​​​​​​入门

  1. 创建Maven项目

​​​​​​​

    2.导入Spring Boot依赖

<!--spring boot 父节点依赖,引入这个之后相关的引入就不需要添加version配置,spring boot会自动选择最合适的版本进行添加。--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.10.RELEASE</version></parent>

java.version 指定jdk版本号:

<java.version>1.8</java.version>

添加spring-boot-starter-web依赖

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

<!-- 可执行jar包 -->

 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

  3.编码测试

新建一个Controller类

新建启动类(App – Main方法)

测试代码

运行:App

浏览器:http://localhost:8080/hello

   4.热部署

即使修改了输出内容也要重启APP,非常麻烦!可以使用spring-boot-devtools来实现!

  1. 介绍

spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动还要更快,更快指的不是节省出来的手工操作的时间。

其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为  restart ClassLoader

,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间(5秒以内)

2.使用

添加依赖包:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>

3.小结

本节主要是SpringBoot的基本引入及热部署的集成

spring boot框架三分钟入门相关推荐

  1. 在spring boot中三分钟上手apache顶级分布式链路追踪系统skywalking

    skywalking在apache里全票通过成为了apache顶级链路追踪系统 项目地址:github.com/apache/skyw- 官方文档:github.com/apache/skyw- 虽然 ...

  2. 一步一步学Spring Boot(三)

    课程名称 <一步一步学Spring Boot(三)> 学习地址 CSDN学习地址: http://edu.csdn.net/lecturer/994 51CTO学习地址:http://ed ...

  3. 一步一步学Spring Boot(三)-黄文毅-专题视频课程

    一步一步学Spring Boot(三)-1059人已学习 课程介绍         Spring Boot是现在很热门的一个微服务框架,作为一名Java Web 开发工程师,是必须要掌握它的.本系列课 ...

  4. 项目监控之Spring Boot 监控端点 Actuator 入门

    1. 概述 应用在部署在生产环境下,我们还需要考虑应用的管理与监控.例如说,应用是否健康存活.应用的 JVM 监控信息.服务器的监控信息(CPU.内存.磁盘等等). 如果我们为应用的管理与监控做相应的 ...

  5. spring boot框架学习学前掌握之重要注解(2)-通过java的配置方式进行配置spring

    本节主要内容: 1:通过代码演示实现零XML配置spring 2:使用重点注解理解 声明: 本文是<凯哥陪你学系列-框架学习之spring boot框架学习>中spring boot框架学 ...

  6. Spring Boot 消息队列 RocketMQ 入门

    转载自  芋道 Spring Boot 消息队列 RocketMQ 入门 摘要: 原创出处 http://www.iocoder.cn/Spring-Boot/RocketMQ/ 「芋道源码」欢迎转载 ...

  7. Spring Boot框架中使用Jackson的处理总结

    1.前言 通常我们在使用Spring Boot框架时,如果没有特别指定接口的序列化类型,则会使用Spring Boot框架默认集成的Jackson框架进行处理,通过Jackson框架将服务端响应的数据 ...

  8. Spring Boot (16)---优雅的入门篇

    Spring Boot (16)---优雅的入门篇 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做技术储备. ...

  9. spring boot框架学习2-spring boot核心(1)

    本节主要: 1:解析spring boot入口和@SpringBootApplication源码详解 SpringBootApplication包含: @SpringBootConfiguration ...

最新文章

  1. 我能想到最浪漫的七夕,就是让AI唱一首“我爱你”!
  2. 集成的分层强化学习,让人工智能在解决智能问题时表现得更聪明
  3. linux journalctl 命令 查询systemd init 系统日志
  4. HDU1164 Eddy's research I【素因子分解】
  5. php的功能和特点,php有什么特点
  6. HDU1054+最小顶点覆盖
  7. date时区 es logstash_elastic date时区问题解决办法
  8. mysql主从复制排错
  9. 背叛乔布斯,库克做对了
  10. vb6 判断打印机是否有效_针式打印机,常见小问题,这里看一看,或许能帮你...
  11. UNP Chapter 25 - 原始套接口
  12. 关于管理的十个经典故事
  13. 算法:匹配有效的括号20. Valid Parentheses
  14. MISRAC系列之 Rule 1.1-1.3 C语言环境
  15. Windows 本地安全策略
  16. v-if报undefined
  17. 手机抓包软件:charles安装及教程
  18. 福特汉姆大学计算机科学专业,福特汉姆大学计算机研究生
  19. linux无线网卡驱动分析,基于Linux的无线网卡驱动程序
  20. mongodb 服务器时区设置_关于MongoDB时区问题

热门文章

  1. Powerpoint快捷键大全
  2. vue项目美食杰 -- 发布菜谱
  3. CSDN高校俱乐部高校讲座在长沙拉开帷幕
  4. 超星大学生心理健康教育(希望大家好好学习,学到的知识永远最牢固)
  5. 都知道私域流量很重要,请直接告诉我们,该怎么开干吧
  6. HDU 3507 Print Artical
  7. 南邮计算机2021进面分数,南京邮电大学2021年硕士研究生复试分数线+调剂信息汇总...
  8. 智慧社区管理云平台 - 数字孪生大屏三维可视化 - 随手拍小程序 - 倾斜摄影分层分户
  9. Win7蓝牙无法连接,有感叹号
  10. 计算机 蚂蚁搬家 教案,幼儿园大班数学活动教案《蚂蚁搬家》