笔记:https://blog.csdn.net/java_lyvee/article/details/102499560
不建议看一期。
博客:shadow?s
spring应用-1
动态代理1-2
spring-formework源码
web-mvc
springboot
spriongcloud
-------------------------------------
什么是IOC什么是DI
IOC:控制反转。
DI:依赖注入。
官网说ioc是DI的另一种叫法。
Bean一定存在在容器之中,经历过一个完整的生命周期的。
------------------------------------------
default-autowire=byType:
自动装配的话把set注释掉就不能自动注入了。另外把set方法改为任意的方法是可以注入的。只能是类型不能是名字的。
自动注入:https://blog.csdn.net/java_lyvee/article/details/102499560
@Autowire先根据类型,类型找不到根据name。
@Autowired!=default-autowire=byType,后者只会根据类型的。
@Autowired:是spring提供的 原则:类型-》名字注意是属性的名字不是set的名字,可以不需要set方法的。
@Resource:是JDK提供的 原则:名字-》类型
这两个注解是由两个不同的后置处理器解析的。
注入模型四种:no
bytype -----------------找到bean再通过set方法进行注入的,和名字是没有关系的。
byname ----------------找到bean再通过set方法进行注入的,和set名字是有关系的。
construct---------------用参数去区别构造方法,找的话优先找参数多的构造方法。
注入方式有两种:construct 属性注入。
----------------------------------------------------
spring是用后置处理器去完成属性的注入的。
后置处理器以后讲的。
-----------
单例:放在了缓存中,单例池是一个map。以后每次拿都在缓存拿。在spring加载的时候就缓存进去了。
原型:没有实例化,只是在拿到就是调用getbean的时候实例化。有一种情况(原型被一个单例所依赖的时候)。
-----------
@LookUp的用法,一期讲过自己复习。
说明:https://www.jianshu.com/p/fc574881e3a2。
-----------
生命周期的回调函数:
初始化(实例化)的回调,销毁的回调。
@PostConstrut---功能:执行完构造方法之后,就是当一个对象被spring实例化之后,然后属性注入然后就是PostConstrut执行某些逻辑。
三种方法实现生命周期的回调:
- The InitializingBean and DisposableBean callBack interfaces
- Custom init() and destory() methods 可以在xml配置
- The @PsotConstruct and @Proestory
面试题:三种方法先后的顺序,3,1,2。
spring文档中文版:https://www.w3cschool.cn/wkspring/lmsq1mm4.html