简介

  • Spring程序的缺点:

    1.依赖设置繁琐

    2.配置繁琐
  • SpringBoot程序优点

    1.起步以来(简化依赖配置)

    2.自动配置(简化常用工程相关配置)

    3.辅助功能(内置服务器,...)

SpringBoot优点的依据:

  • 1.parent用来减少配置依赖冲突

    有时创建文件需要用到相同的坐标,如:

面对这样的情况,进行了优化:



这样一来,就不用管理坐标版本了(当多个技术在项目中使用时,会有包的版本不同,需要调包),而springboot将这些版本统一管理。

意思就是,当你需要使用某个技术的时候,需要导包,而到的这个包由boot来提供,版本号由boot决定,你只需要导报就行了

而这个行为就是由中的语句的功能,shift+鼠标右键,有两层,进入之后可以看见语句,里面放的就是若干个坐标版本

在中,定义一系列的坐标,并引用这些坐标,它规定了一些列的属性以及依赖管理

在阿里云中创建的模块,这个pom.xml文件中采取的是导入的方法,前面用的是继承,效果是相同的

小结:

  • 1.开发SpringBoot程序要继承spring-boot-starter-parent

    2.spring-boot-starter-parent中定义了若干个依赖管理

    3.继承parent模块可以避免多个依赖使用相同技术时出现以来版本冲突

    4.继承parent也可以采用引入的形式实现

    做版本的统一化管理,parent只是定义了若干个版本,如果不手写调用的话,就没法使用它,那么到底谁在用呢?
  • 2.starter主体做简化配置,需要用到parent中继承过来的版本

    starter中导入了版本坐标,所以,不需要再pom.xml文件中再次导入,这就是依赖传递

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

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

    实际开发中,当发现坐标错误时,就再指定Version

    小结:

    • 1.开发SpringBoot程序需要导入坐标时,通常导入对应的starter(由于依赖传递,所以不需要定义版本号)
    • 2.每个不同的starter根据共功能不同,通常包含多个依赖坐标
    • 3.使用starter可以实现快速配置的效果,达到简化配置的目的
  • 3.引导类初始化spring容器

    starter和parent都是用来简化配置的,那么配置完毕之后靠谁运行呢?引导类

    主方法中SpringApplication.run(Springboot0101QuickstartApplication.class, args);语句的作用spring或者mvc的程序,都会运行出一个spring容器的对象,所有的对象都以bean的形式交给spring容器管理;springboot程序也有这个容器



    可以看出,这个引用类就是这么一个容器,用于存放bean

    引导类的功能就靠里面的注解(进入注解),原来的容器是用于加载配置类的,这个容器就是配置类;实际上就是整个程序的入口,用于加载bean,加载之后其它语句才能起作用(加载的前面的成员是加载配置,这个引导类是启动程序,而不是启动服务器,那谁来启动服务器呢?)
  • 4.内嵌tomcat启动服务器

    在pom.xml文件中的配置starter-web中,里面有一个tomcat,进去之后有一个tomcat-embed-core内嵌tomcat服务器

    以前启动,是将程序扔到服务器当中,然后启动,而现在是将服务器内嵌到程序中

    将一个tomcat的执行过程抽取出来,并变成一个对象,而后将这个对象交给spring容器去管理,现在要运行的所有东西,需要在tomcat对象中运行

如果不想用tomcat服务器,可以把这个依赖语句删掉(删掉之后就没有web服务功能了),但是必须要告诉程序,你将要使用的服务器;

排除依赖功能:标签,指定排除项将依赖项添加进去;然后通过标签添加服务器,如



org.springframework.boot

spring-boot-starter-jetty(jetty服务器)



在pom文件中导入了starter-web,而在这个starter-web中导入了tomcat这个服务器,并指定了版本号,运行时靠tomcat中的核心包

boot中内置服务器有三种:

1.tomcat;应用面广

2.jetty;更轻量级

3.undertow;

小结:

1.内嵌tomcat服务器是SpringBoot辅助功能之一

2.内嵌tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理

3.变更内嵌服务器思想是去除现有服务器,添加全新的服务器

最新文章

  1. iOS-打电话、发短信、发邮件、打开浏览器
  2. 《CODE》读后笔记——第21~25章
  3. MapReduce实例-NASA博客数据频度简单分析
  4. JavaScript - call(this)
  5. SAP的运输功能(转)
  6. 前端学习资源(CSS+HTML5)
  7. iOS第三方支付-银联支付
  8. BBC票选出的100部最经典美国电影,你看过几部?
  9. idea 配置node Run
  10. Windows下用C语言获取进程cpu使用率,内存使用,IO情况
  11. Hack 语言学习/参考---1.1 What is Hack?
  12. Android OpenGL ES(十二):三维坐标系及坐标变换初步 .
  13. 【LeetCode】332. Reconstruct Itinerary
  14. BZOJ_4867_[Ynoi2017]舌尖上的由乃_分块+dfs序
  15. 打个响指Selenium自动化开启
  16. IT题库2-LinkList和ArrayList(插入数据、末尾插入数据、不同数据量插入数据)的效率?
  17. ueditor 百度编辑器,自定义右键菜单
  18. 学JS的心路历程-Promise(一)
  19. 进程ID[PID(Process ID)]与端口号[(Port ID)]的联系
  20. ajax实现模糊查询完成列表信息显示

热门文章

  1. Redis01 Redis详细介绍
  2. 1 .NET Core笔试题
  3. 学习Java Day30
  4. Java基础语法:注释、数据类型、字节
  5. JZOJ 100019.A
  6. 代码随想录算法训练营day09 | leetcode 28. 实现 strStr()
  7. 批量下载Landsat遥感影像的方法
  8. LeetCode-798 得分最高的最小论调 及差分和前缀和的学习
  9. vs2019 代码片段管理
  10. IIS部署WGCMS