/**
- 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
*/