![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
qigemingzhendenan
我自横天向天笑,去留肝胆两昆仑。
展开
-
浅谈Spring-Mvc
Spring mvcSpringMvc调用Controller的原理,加载配置文件web.xml 加载spring mvc.xml扫描整个项目 根据配置文件给定的目录来扫描,扫描所有加了@Controller注解的类当扫描到加@Controller注解的类之后遍历所有的方法,拿到方法对象之后,解析方法嗓门是否加了@RequestMapping注解,定义一个map集合把@RequestMa...原创 2021-06-30 11:31:05 · 81 阅读 · 0 评论 -
springboot热部署
java文件编译为class文件,经过classLoader(类加载器加载成class对象),对象就会存在JVM中,所谓的调用class对象其实就是去JVM中找那个引用。热部署就是将这个对象改了,也能让JVM动态感知道,让JVM中的对象成为一个新的对象。之前改了不起作用是因为JVM已经存在这个对象就不会再去加载更新的class文件。java自带的类加载器BootStrapClassLoade...原创 2021-06-30 11:30:28 · 106 阅读 · 0 评论 -
第三方登陆
1 执行第三方登陆2 重定向到一个页面 引导第三方服务器登陆3 验证账号密码 cilentID callbock 验证啥方式4 第三方返回授权码code 会过期 只能使用一次(为了多一次认证。如果此时放回token就会暴露)5 调用方那code换取token 严重callbock6 第三方返回token7 调用方使用token换取用户信息 在后台通过网络请求去拿取用户信息tok...原创 2021-06-30 11:30:12 · 85 阅读 · 0 评论 -
浅谈MVCC
MVCC就是当查询sql 时会生成一致性试图read-view,它由执行查询时所未提交事务id数组(数组中有最小事务id)和已创建最大的事务id,查询需要跟read-view做对比从而得到快照结果。版本链1 如果trx_id(查询的事务id)<min_id(最小事务id),表示这个版本已经是提交的事务生成的,这个事务可见2 如果trx_id(查询的事务id)>max_id(最小事...原创 2021-06-30 11:30:03 · 114 阅读 · 0 评论 -
浅谈mybatis
先拿到mybatis对应的config然后通过流拿到文件放入SqlSessionFactoryBuilder.biud。通过buid方法先解析配置文件判断配置问价你是否解析过如果解析过则不解析。解析消耗性能。解析先去解析别名,别名就是你指定的的别名对应的class存入一个map中开始注册...原创 2021-06-30 11:29:44 · 58 阅读 · 0 评论 -
mybaits-spring
首先在spring配置类中配置 SqlSessionFactoryBean ,配置configuration,解析配置文件中指定的xml路径,加载映射文件,构建SqlSessionFactory通过MapperScan注解中的@import方法MapperScannerRegistrar#registerBeanDefinitions#registerBeanDefinitions中使用mybaits的扫描器MapperScannerConfigurer实现了BeanDefinitionRegistr.原创 2021-06-30 11:29:16 · 91 阅读 · 0 评论 -
spring启动流程、bean生命周期
首先我们现有一个容器,笔者使用的是注解的new AnnotationConfigApplicationContext(SpringConfig.class);作为入口;1、容器初始化,先调用构造方法创建2个BeanDefinition,1)AnnotatedBeanDefinitionReader 主要是为了将传入的config.class变为BeanDefinition,提供一个register的注册方法。2)ClassPathBeanDefinitionScanner 提供api扫描注解 (doS原创 2021-05-07 21:09:50 · 275 阅读 · 0 评论