目录

一、Spring和Springboot的区别及其注意事项什么?

二、忽略文件技巧,这样就可以减少很多不必要的文件生成

三、SpringBoot  Parent讲解

四、stater的介绍

五、引导类的介绍

六、Springboot内置tomcat(辅助功能必看)可以更改服务


一、Spring和Springboot的区别及其注意事项什么?

二、忽略文件技巧,这样就可以减少很多不必要的文件生成

三、SpringBoot  Parent讲解

小结:

  1. 开发SpringBoot程序要继承spring-boot-starter-parent
  2. spring-boot-starter-parent中定义了若干个依赖管理
  3. 继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突
  4. 继承parent的形式也可以采用引入依赖的形式实现效果

按住Ctrl点击pom.xml中的spring-boot-starter-dependencies,跳转到了spring-boot-starter-dependencies的pom.xml,xml配置如下(只摘抄了部分重点配置):

<properties><activemq.version>5.15.3</activemq.version><antlr2.version>2.7.7</antlr2.version><appengine-sdk.version>1.9.63</appengine-sdk.version><artemis.version>2.4.0</artemis.version><aspectj.version>1.8.13</aspectj.version><assertj.version>3.9.1</assertj.version><atomikos.version>4.0.6</atomikos.version><bitronix.version>2.1.4</bitronix.version><build-helper-maven-plugin.version>3.0.0</build-helper-maven-plugin.version><byte-buddy.version>1.7.11</byte-buddy.version>... ... ...
</properties>
<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot</artifactId><version>2.0.1.RELEASE</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-test</artifactId><version>2.0.1.RELEASE</version></dependency>... ... ...</dependencies>
</dependencyManagement>
<build><pluginManagement><plugins><plugin><groupId>org.jetbrains.kotlin</groupId><artifactId>kotlin-maven-plugin</artifactId><version>${kotlin.version}</version></plugin><plugin><groupId>org.jooq</groupId><artifactId>jooq-codegen-maven</artifactId><version>${jooq.version}</version></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.0.1.RELEASE</version></plugin>... ... ...</plugins></pluginManagement>
</build>

四、stater的介绍


  • starter

SpringBoot中常见项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的

  • parent

所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
spring-boot-starter-parent各版本间存在着诸多坐标版本不同

  • 实际开发

使用任意坐标时,仅书写GAV(groupId, artifactId, version)中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V

小结:

  1. 开发SpringBoot程序需要导入坐标时通常导入对应的starter
  2. 每个不同的starter根据功能不同,通常包含多个依赖坐标
  3. 使用starter可以实现快速配置的效果,达到简化配置的目的

五、引导类的介绍

  • 启动方式
@SpringBootApplication
public class Springboot0101QuickstartApplication {public static void main(String[] args) {ConfigurableApplicationContext ctx = SpringApplication.run(Springboot0101QuickstartApplication.class, args);//获取bean对象BookController bean = ctx.getBean(BookController.class);System.out.println("bean======>" + bean);}
}
  • SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目
  • SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载bean

小结:

  1. SpringBoot工程提供引导类用来启动程序
  2. SpringBoot工程启动后创建并初始化Spring容器

六、Springboot内置tomcat(辅助功能必看)可以更改服务

  • 使用maven依赖管理变更起步依赖项
    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!--web 起步依赖环境中,排除 Tomcat 起步依赖 --><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><!-- 添加 Jetty 起步依赖,版本由 SpringBoot 的 starter 控制 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
  • Jetty比Tomcat更轻量级,可扩展性更强(相较于Tomcat),谷歌应用引擎(GAE)已经全面切换为Jetty
  • 内置服务器

tomcat(默认) apache出品,粉丝多,应用面广,负载了若干较重的组件

jetty 更轻量级,负载性能远不及tomcat

undertow undertow,负载性能勉强跑赢tomcat

小结:

  1. 内嵌Tomcat服务器是SpringBoot辅助功能之一
  2. 内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理
  3. 变更内嵌服务器思想是去除现有服务器,添加全新的服务器

Springboot介绍(超详细)相关推荐

  1. 自学SpringBoot,超详细笔记

    1.SpringBoot 回顾下什么是Spring? Spring是一个开源框架,2003年兴起的一个轻量级的java开发框架,是为了解决企业级应用开发的复杂性而创建的,简化开发 Spring是如何简 ...

  2. 【Vue+SpringBoot】超详细!一周开发一个SpringBoot + Vue+MybatisPlus+Shiro+JWT+Redis前后端分离个人博客项目!!!【项目完结】

    项目目录 资源准备 前后端分离项目 技术栈 Java后端接口开发 1.前言 2.新建Springboot项目 3.整合mybatis plus 3.统一结果封装 4.整合shiro+jwt,并会话共享 ...

  3. HTTP协议详细介绍~超详细

    下面是对HTTP的详细介绍,HTTP协议是应用最广泛的网络协议. 希望可以帮助到有需要的小伙伴 文章目录 HTTP是什么 HTTP协议历史与标准 HTTP请求与响应消息 HTTP的基本原理 基于HTT ...

  4. VM虚拟机安装篇·VMware Workstation Pro(虚拟机)安装Win10操作系统(图文介绍超详细)

    VMware Workstation Pro(虚拟机)安装Win10操作系统(图文介绍适合小白) 文章目录 VMware Workstation Pro(虚拟机)安装Win10操作系统(图文介绍适合小 ...

  5. Kerberos协议认证介绍 超详细

    转载:https://blog.csdn.net/wulantian/article/details/42418231 内容太多,可直接看总结 前几天在给人解释Windows是如何通过Kerberos ...

  6. python的 numpy库学习总结和介绍(超详细)模块

    目录 前言 numpy是什么? 一.创建数据容器 1.np.array(),通过传递一个列表,元祖来创建 2.np.zeros(),np.ones(),np.empty(),np.full(),传递对 ...

  7. VMware虚拟机安装苹果系统、linux系统以及VMtools的安装介绍(超详细)

    Ubuntu 简介: 代码写烦了,就没事想学一点linux命令,但是又愁于没有系统,所以就用一下午时间简单的了解了下linux的安装.Ubuntu这是一个基于linux内核的系统,因为linux是一个 ...

  8. 刷机介绍----超详细

    ROOT.刷REC.第三方ROM的先后顺序? 如果是HTC的手机都是先要解锁,其他的一般不需要 顺序是先刷了recovery,之后用recovery刷第三方的ROM,然后再root,其实绝大多数的第三 ...

  9. ElasticSeach详细安装教程--图文介绍超详细

    目录 前期准备 创建用户 下载ElasticSeach的安装包,本案例使用版本6.2.4 修改配置项jvm.options 修改配置项elasticsearch.yml 解决报错 启动Elastics ...

  10. 【七】springboot整合redis(超详细)

    springboot篇章整体栏目: [一]springboot整合swagger(超详细 [二]springboot整合swagger(自定义)(超详细) [三]springboot整合token(超 ...

最新文章

  1. java模拟https请求_java-用httpclient模拟发送https请求
  2. 计算机操作员有关大学专业,计算机操作员国家职业标准
  3. 3d17304计算机开机号,福彩3D17304期福彩3D开机号147对应码653牛彩网关注数037金码0...
  4. 如何在SAP云平台ABAP编程环境里把CDS view暴露成OData服务
  5. 《20天吃透Pytorch》Pytorch自动微分机制学习
  6. charts引入icon图片_v-charts 踩坑之路
  7. php 今天 明天 后天 显示10天,【微信小程序】实现含有今天,明天,后天的日期组件...
  8. 转-人工智能和机器学习领域大牛
  9. Java基础教程【第三章:Java运算符】
  10. 数据结构 《18》----RMQ 与 LCA 的等价性 (一)
  11. 你的喜爱——软件测试方法和技术
  12. 谷歌金山词霸,免费又好用(附下载地址)
  13. linux系统中打rz命令后出现waiting to receive.**B0100000023be50
  14. 【渝粤教育】电大中专电商运营实操 (24)作业 题库
  15. 基于Python实现的微信好友数据分析
  16. express比php好用,[译]Node.js 框架比较: Express vs. Koa vs. Hapi
  17. scp 远程拷贝文件
  18. *6-3 节约小能手
  19. Lol的积分机制:埃罗(ELO)预算法详解
  20. 【离散数学】二元关系

热门文章

  1. c语言无符号整型除法,用位运算的方法实现无符号整数的除法,游戏编程 | 李大仁博客...
  2. WebWork深入探索之初见端倪
  3. 题目二:课程设计报告
  4. EverBox 能否成为中国的dropbox
  5. 人类又被AI碾压,这次是星际争霸
  6. 七上八下猜数字_车上互动游戏
  7. 859-细谈安全的 HTTPS 协议
  8. 华为笔记本没有网线口_matebook 14有网线接口吗
  9. 苹果错误分析报告preferreuserinterface_双十一性能报告第二弹今年,你还在为双十一奋斗吗?...
  10. 旧金山大学 计算机,旧金山大学(University of San Francisco)