![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring源码学习
文章平均质量分 85
zealon_zl
个人学习和分享
展开
-
Spring后置处理器总结
1、BeanFactoryPostProcessor用来处理BeanFactory中Bean属性的后置处理器,也就是说在Bean初始化之前,Spirng提供了一个钩子可以让你根据自己的实际情况修改Bean的属性,最常见的应用就是我们的Bean中会有一些占位符,那么在Bean实例化之前这些占位符肯定是要被实际的配置参数填充的,这个填充的过程就是通过BeanFactoryPostProcessor的后置处理完成的@FunctionalInterfacepublic interface BeanFac原创 2022-05-24 23:26:09 · 533 阅读 · 0 评论 -
五、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 · 733 阅读 · 0 评论 -
四、Spring AOP源码解析
一、AOP基本概念1、AOP简介:AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心功能毫无关系对于其他类型的代码,如安全性、异常处理和透明的持续性也原创 2021-10-24 17:42:48 · 105 阅读 · 0 评论 -
三、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 · 210 阅读 · 0 评论 -
spring IOC扫描bean定义源码分析
Spring 通过ConfigurationClassPostProcessor 处理所有BeanDefinition中的符合注解条件的BeanDefinition,(@Configuration注解的、@Component、@ComponentScan、@Import、@ImportResource或者@Bean注解的),解析和注入用户的bean到容器ConfigurationClassPostProcessor:BeanDefinitionRegistryPostProcessor后置处理器,在s.原创 2021-09-20 23:49:11 · 206 阅读 · 0 评论 -
二、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 · 234 阅读 · 0 评论 -
一、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 · 195 阅读 · 1 评论