SpringBoot与Docker

本文探讨了SpringBoot的自动配置原理,包括SpringBoot如何自动配置SpringMvc及Servlet容器的启动流程。此外,还介绍了Docker的基础知识,如Docker的沙箱机制、镜像与容器的概念,以及使用Docker的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**

  • spring的自动配置原理
  • 这个场景 SpringBoot帮我们配置了什么?能不能修改,修改哪些配置,能不能扩展?
  • xxxAutoConfiguration:帮我们给容器中自动配置组件,
  • xxxProperties:配置类封装配置文件的内容
  • 这是显示欢迎
  • 自动配置原理
  • SpringMvc自动配置
  • =SpringBoot自动配置好了SpringMvc
  • ·自动配置了ViewResolver(视图解析器:根据方法的返回值得到视图对象,视图对象决定如何渲染(转发?重定向))
  • ·ContentNegotiatingViesResolver:组合所有的视图解析器
  • ·
  • 外部SpringBoot 应用原理
  • 原理
  • jar包:执行SpringBoot的main方法,启动ioc容器,创建嵌入式Servlet容器
  • war包:启动服务器。服务器启动SpringBoot应用, 启动ioc容器
  • servlet3.0(Spring注解版):
  • Shared libraries /runtimes pluggabilty
  • 规则
  • 1)服务器启动,(web应用启动) 会创建当前web应用里面每一个java包里面 ServletContainerInitializer实例
  • 2)ServletContainerInitializer的实现 放在jar包的META-INF/services文件夹下,有一个名为
  • javax.servlet.ServletContainerInitializer的文件,内容就是ServletContainerInitializer的实现类的全类名
  • 3)我们还可以使用 @HandlesTypes,在应用启动的时候加入我们感兴趣的类
  • 流程
  • 1)、启动Tomcat
  • 2)、 找到ServletContainerInitializer文件,
  • 3)、SpringServletContainerInitialize 将@HandlesTypes(WebApplicationInitialieze.class)标注的所有这个类型的类
  • 都传入到onStartup的方法Set<Class<?>>; 为这些(WebApplicationInitializer)类创建实例
  • 4)、每一个WebApplicationInitializer 都调用自己的onStartUp
  • 5)、相当于我们的SpringBootServletInitializer 的类会被创建对象,并执行onStartUp方法
  • 6)、SpringBootServletInitializer 就会createRootApplicationContext: 创建容器
  • · 创建SpringApplicationBuilder
  • ·调用configure 方法 ,子类重写了这个方法,将SpringBoot主程序传入了尽量
  • ·使用builder创建一个Spring应用
  • ·启动
  • 7)、Spring启动Servlet容器,在启动
  • 刷新
  • SpringBoot与Docker
  • Docker
  • 1.简介
  • Docker是一个开源的应用容器引擎 ,容器是完全使用沙箱机制,相互之间不会有任何借接口 ,更重要的是容器性能开销极地
  • Docker 支持将软件编译 为镜像,然后 在镜像中 各种软件做好配置,将镜像发布出去, 其他使用
  • 可以直接使用这个镜像,运行中的镜像称之为容器, 容器启动是非常快速的 ,
  • Docker镜像: D软件打包好的镜像
  • Docker主机, 安装了Docker程序的机器,(Docker直接安装在操作系统上)
  • Docker客户端:客服端通过命令或其他工具使用Docker
  • Docker仓库:用来保存各种打包好的软件镜像
  • Docker容器:镜像启动后的实例称之为一个容器。独立运行的一个或一组应用,
  • 使用Docker的步骤
  • 1)、安装Docker
  • 2)、去仓库找到这个软件对应的镜像
  • 3)、使用Docker
    */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值