- 博客(13)
- 收藏
- 关注
原创 Spring后置处理器总结
1、BeanFactoryPostProcessor用来处理BeanFactory中Bean属性的后置处理器,也就是说在Bean初始化之前,Spirng提供了一个钩子可以让你根据自己的实际情况修改Bean的属性,最常见的应用就是我们的Bean中会有一些占位符,那么在Bean实例化之前这些占位符肯定是要被实际的配置参数填充的,这个填充的过程就是通过BeanFactoryPostProcessor的后置处理完成的@FunctionalInterfacepublic interface BeanFac
2022-05-24 23:26:09
634
原创 五、Spring MVC主要流程和源码解析
目录一、spring mvc 功能特性1、回顾servlet 与jsp 执行过程2、spring mvc 功能特性3、请求处理流程4、spring mvc 示例二、mvc 体系结构详解1、spring mvc 框架组件2、HandlerMapping 详解3、HandlerAdapter 详解4、ViewResolver 与View 详解一、spring mvc 功能特性1、回顾servlet 与jsp 执行过程流程说明:请求Serv...
2022-03-21 22:36:09
827
原创 四、spring 集成myBatis
1、基本使用基础集成使用:1、配置 SqlSessionFactoryBean<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/></bean>2、配置 MapperFactoryBean<bean id="userMapper" cl...
2022-02-19 22:12:13
264
原创 三、MyBatis学习之执行流程解析
配置文件解析 configuration配置文件的解析流程即是将XML描述元素转换成对应的JAVA对像过程,其最终转换对像及其关系如下图:配置元素解析构建器>org.apache.ibatis.builder.xml.XMLConfigBuilder>org.apache.ibatis.builder.xml.XMLMapperBuilder >org.apache.ibatis.builder.xml.XMLStatementBuilder >...
2022-02-11 22:25:37
407
原创 二、MyBatis学习之缓存
一级缓存 Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyBatis会将其放在缓存中,以后再查询的时候,如果没有声明需要刷新,并且缓存没有超时的情况下,SqlSession都会取出当前缓存的数据,而不会再次发送SQL到数据库。一级缓存的使用条件:必须是
2022-02-08 22:20:30
217
原创 一、MyBatis学习之基础体系
基本概念MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录全局配置mybatis-config.xml官网说明:mybatis – MyBatis 3 | 配置https://mybatis.or
2022-02-08 10:38:02
113
原创 Eclipse插件之Eclipse Color Theme的安装及使用
Eclipse插件之Eclipse Color Theme的安装及使用_Java学习-优快云博客由于这个上面的安装都会失败,具体原因没去了解新的安装方法:打开Eclipse-Help-Install New Software,Add:https://eclipse-color-theme.github.io/update/下一步,下一步,经过漫长的等待,终于可以在线下载了...
2021-11-25 16:51:21
2146
1
原创 四、Spring AOP源码解析
一、AOP基本概念1、AOP简介:AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心功能毫无关系对于其他类型的代码,如安全性、异常处理和透明的持续性也
2021-10-24 17:42:48
156
原创 三、Spring IOC getBean源码解析
spring中用一句getBean就能取出一个实例化好的bean,这个bean是属于IOC容器管理的,下面是源码大致流程图:1、getBean 源码流程一、入口 getBean和真正做事的doGetBean:public Object getBean(String name) throws BeansException { return doGetBean(name, null, null, false);}protected <T> T doGetB..
2021-10-01 22:45:36
293
原创 二、Spring容器启动核心 refresh
Spring容器创建之后,会调用它的refresh方法刷新Spring应用的上下文public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // Prepare this context for refreshing. prepareRefresh(); // Tell the subclass to refresh
2021-10-01 11:28:46
298
原创 spring IOC扫描bean定义源码分析
Spring 通过ConfigurationClassPostProcessor 处理所有BeanDefinition中的符合注解条件的BeanDefinition,(@Configuration注解的、@Component、@ComponentScan、@Import、@ImportResource或者@Bean注解的),解析和注入用户的bean到容器ConfigurationClassPostProcessor:BeanDefinitionRegistryPostProcessor后置处理器,在s.
2021-09-20 23:49:11
287
原创 一、Spring IOC容器启动过程源码学习
1、配置类启动代码:@Configuration@Import(value = {TulingService.class})@ComponentScan(basePackages = "com.tuling.testspringiocstarter")public class MainConfig { @Bean public TulingDataSource tulingDataSource() { return new TulingDataSource();
2021-09-19 20:45:51
279
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅