上一页 1 2 3 4 5 6 7 ··· 28 下一页
摘要: bean的实例化过程是spring容器启动的核心部分,会把上面已经注册的BeanDefinitionMaps中的非懒加载的对象,全部实例化,这个 过程中包括bean对象的创建、属性的设置、初始化等等。 1:在AbstractApplicationContext类中的refresh方法中有个finis 阅读全文
posted @ 2020-06-22 16:47 warrior1234 阅读(651) 评论(0) 推荐(0) 编辑
摘要: BeanPostProcessor是处理bean的后置接口,beanDefinitionMaps中的BeanDefinition实例化完成后,完成populateBean,属性设置,完成 初始化后,这个接口支持对bean做自定义的操作。 一:BeanPostProcessor的使用 定义一个测试用的 阅读全文
posted @ 2020-06-18 17:02 warrior1234 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 一:BeanDefinitionRegistryPostProcessor 与BeanFactoryPostProcessor接口 这个接口支持自定义beanDefinition的注册,在标准的注册完成后(解析xml或者注解),在与实例化对象之前,实现这个接口 可以向beanDefinitionMa 阅读全文
posted @ 2020-06-18 15:13 warrior1234 阅读(1269) 评论(0) 推荐(0) 编辑
摘要: 上一节我们分析了默认标签的解析,这一节看一次自定义标签,例如:context aop 等等都是自定义标签,在 分析自定义标签之前,我们先看一下SPI机制, SPI就是一个服务的扩展机制,可以把接口的实现类配置到META-INF元数据区, 框架启动时加载到缓存,最初的版本是jdk中实现的,后来在spr 阅读全文
posted @ 2020-06-17 11:20 warrior1234 阅读(665) 评论(0) 推荐(0) 编辑
摘要: 这两个占位符,#预编译后设置参数,#{}会被参数替换,$ 是sql与参数直接拼接,容易sql注入。 变量直接替换一般使用$,例如in(${xxx}),下面看一下源码层面怎么实现的。 一:#{}的替换 #{} 的替换就是jdbc预编译后的替换占位符 ? /** * 执行查询操作 * * @param 阅读全文
posted @ 2020-06-16 21:09 warrior1234 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 上一节spring源码分析,看到spring将xml文件封装成了Document对象,然后委托给BeanDefinitionDocumentReader来解析,从parseBeanDefinitions这个方法开始看, 一:解析默认元素bean 1:解析的流程 看一下delegate如何解析bean 阅读全文
posted @ 2020-06-16 18:46 warrior1234 阅读(327) 评论(0) 推荐(0) 编辑
摘要: mybatis缓存有一级缓存和二级缓存,一级缓存的作用域是sqlSession,在一次会话内,默认是开启的,如果在一次会话内,查询的sql、参数相同,则 会从缓存中取数据,如果没有命中则执行dml操作会清除缓存;二级缓存的作用域是sqlSessionFactory,默认是关闭的,需要在mybatis 阅读全文
posted @ 2020-06-15 22:46 warrior1234 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 这里我们以最基础的xml配置的形式来解析,看一下spring启动流程的初始步骤: 一:使用spring 引入依赖: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> 阅读全文
posted @ 2020-06-15 18:36 warrior1234 阅读(689) 评论(0) 推荐(1) 编辑
摘要: 一:插件的使用 以分页插件PageHelper为例,看一下mybatis的插件如何工作 首先添加pageHelper的maven依赖: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</arti 阅读全文
posted @ 2020-06-12 18:18 warrior1234 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 1:根据sqlId没有找到对应的MapperStatement,有可能是sql语句不存在、或者sqlId的名字和mapper方法中的名字对不上 Exception in thread "main" org.apache.ibatis.binding.BindingException: Invalid 阅读全文
posted @ 2020-06-11 16:28 warrior1234 阅读(1397) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 28 下一页