爆肝spring源码笔记

1.总览

首先学习spring源码 的大纲如下 图1.1为主要学习 内容其中 容器 + AOP占百分之六七十

然后学完sping源码 再学springmvc源码就简单很多

1.2中指出了springmvc中父子工厂的事务冲突问题 这个在springboot中由于引入了内置的

tomcat后解决 后面会讲 然后springboot的诞生原因主要是简化开发,springcloud就是服务于微服务开发

图1.3可以看出我们的工厂是列出bean容器根接口BeanFactory下的一些bean容器接口与类

各个bean容器接口的作用都不同

比如HierarchicalBeanFactory 进行父子容器的管理

比如ConfigurableBeanFactory 我们配置的单例还是prototype多例,还有啥类型转化器就是通过它

再比如AutowireCapableBeanFactory 很明显可以看出 我们使用autowire注入对象 就是通过它

还有ListableBeanFactory 我们判断bean工厂是否包含某beandefinition 通过什么bean name 或者bean type去获取某个bean 就是通过它

这里要强调的一点是 applicationcontext具备上面这几个接口的所有功能

然后提到的xmlbeanfactory 通过解析xml生成beandefinition存到jvm

相关推荐
二哈赛车手3 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
阿维的博客日记6 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
tongluowan00712 小时前
@Autowired 和 @Resource 有什么区别?
java·spring·bean
海兰14 小时前
【第21篇-续】graph-Stream-Node改造为适配openAI模型示例
java·人工智能·spring boot·spring·spring ai
夕除15 小时前
spring boot 9
java·mysql·spring
happymaker062616 小时前
Spring学习日记——DAY03(yml文件)
java·spring boot·spring
霸道流氓气质16 小时前
Spring AI 结构化输出 Agent 实战:让大模型返回精准 JSON
人工智能·spring·json
段ヤシ.17 小时前
回顾Java知识点,面试题汇总Day10(持续更新)
java·开发语言·spring
小江的记录本18 小时前
【Java基础】集合框架: ArrayList vs LinkedList 核心区别、扩容机制(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
夕除18 小时前
spring boot 10
java·python·spring