PVE安装
下载proxmox 安装安装流程 配置安装完成后需要做一些配置 修改镜像源修改中科大镜像源 首先 nano /etc/apt/sources.list 注释掉所有原来的官方源 复制进以下内容 1234deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmwaredeb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmwaredeb https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmwaredeb https://mirrors.ustc.edu.cn/debian-security bookworm-security main ctrl+x 按Y 回车保存 然后 nano...
mybatis请求流程
1. 目录[TOC] 2. 说明mybatis的请求流程分为带事务的请求和不带事务的请求,其在事务提交、关闭上略有不同,其余流程均差不多 StatementHandler、ExecutionHandler、ParaedmentHandler3. 依赖分析4. 源码分析前面已经分析到实际注入的Mapper为MapperProxy代理对象,因此,我们的调用从MapperProxy开始 MapperProxy由于实现了jdk动态代理,进入方法首先分析invoke()方法 1234567891011121314151617181920212223242526272829303132333435public class MapperProxy<T> implements InvocationHandler, Serializable { private static final long serialVersionUID = -6424540398559729838L; private final SqlSession sqlSession; private...
mybatis启动流程(springboot)
1. 目录[TOC] 2. 说明本文分析mybatis在springboot 启动条件下的启动流程 3. 依赖分析maven依赖项目启动依赖123456789101112<dependencies> <!--mybatis启动器--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> </dependency> <!--mysql连接,没有这个spring提供的的Datasource是不会创建的--> <dependency> <groupId>mysql</groupId> ...
Springboot springboot生命周期扩展
1. 说明springboot的生命周期主要在springboot启动容器阶段的扩展,从容器刷新开始主要就是spring相关的扩展了 看过springboot源码就应该知道,我们从pringApplication.run()启动springboot工程,其有一个初始化器、监听器、一个异常报告器同时,springboot还支持在启动之后执行初始化方法,相当于在容器启动之后执行方法, 防止方法报错导致容器起不来 2. 扩展2.1. 初始化器ApplicationContextInitializer初始化器在上下文设置好环境变量之后执行,在这里可以操作环境变量相关信息;实际上类信息是spring的相关扩展,只是springboot在启动时会加载这个扩展 ApplicationContextInitializer有道翻译:这里封装了配置和生命周期方法,以避免让ApplicationContext客户端代码明显看到它们。目前的方法应该只用于启动和关闭代码。 2.1.1....
6 springmvc请求访问流程
1. 目录[TOC] 2. 说明springmvc的访问流程主要从DispatcherServlet#doDispatch开始的,Tomcat:org.apache.catalina.ApplicationFilterChain#coreApplicationFilterChain() -> Java:javax.servlet.http.HttpServlet#service()-> springmvc:FrameworkServlet#Service -> springmvc:DistpatcherServlet#doDispatch() 3. 依赖分析4. 源码分析主要是从DistpatcherServlet#doDispathcer()开始正式进入流程 4.1....
1 springboot启动流程分析
1. 目录[TOC] 2. 说明springboot 是一个脚手架,主要用于初始化spring相关的配置,以及根据约定的格式快速配置约定优于配置是其主要思想 3. 依赖分析4. 源码分析4.1. 主入口SpringApplication.run()123public static void main(String[] args) { SpringApplication.run(D7SpringbootSourceApp.class, args);} 直接进入SpringApplication创建 1234567public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) { return run(new Class<?>[] { primarySource }, args);}public static ConfigurableApplicationContext...
5 springmvc初始化拦截器Interceptor
1. 目录[TOC] 2. 说明前面springmvc启动流程已经分析到了拦截器是使用InterceptorsBeanDefinitionParser解析器来解析的 3. 依赖分析4. 源码分析4.1. xml说明在spring中配置了<mvc:interceptors> 标签的会在此解析器中解析得到MappedInterceptor包装类解析器支持解析三种标签bean,ref,interceptor,从后面源码可以看出来 12345678910111213<mvc:interceptors> <!--在这里创建一个拦截器bean--> <bean class="com.kewen.interceptor.GlobalInterceptor"/> <!--引用已有的bean--> <ref bean="globalInterceptor"/> <!--配置条件拦截器--> <mvc:interceptor> ...