基于最原始的tomcat + servlet 的编码原理
对spring IOC机制的理解
-
控制反转/依赖注入
-
解决的痛点 :
之前都是需要new对象,类与类之间重度耦合,代码修改变动较大.
-
Bean加载流程
Tomcat启动的时候直接会启动spring容器 扫描所有的代码,根据代码的注解Bean,或者是xml配置 , 扫描到的bean都由spring容器创建管理. 并且创建并建立对象中的引用, 自动注入.
-
@Autowired 与@Resource
@Autowired 按byType自动注入, @Resource默认按 byName自动注入
-
引入spring mvc等一些框架,内包含一些核心组件.
-
底层的核心技术是什么?
反射技术,通过类加载器加载class , 通过反射创建bean实例.
-
优势是什么:
让spring 系统的 类与类之间彻底的解耦合.
对spring AOP机制的理解
- 切面编程
- 解决的痛点:
多个场景,都同时有类似的需求 , 大量的重复的代码在不同的类中出现.
-
@Around @Before @After
@ Order (i) 按照 i 的大小决定切面的顺序. i 小先进. 在切入点前的操作,按order的值由小到大执行 在切入点后的操作,按order的值由大到小执行
-
AOP的核心技术就是动态代理.
生成一个动态代理对象,将切面内的bean注入到这个动态代理对象内 . 在IOC自动注入的时候 , 其实是注入的动态代理这个对象.