赞
踩
看了很多关于spring原理的文章,看很多也不是太明白。中国就喜欢整的复杂化。
我看完自己整理一下的。
spring原理:IOC+AOP;IOC是核心
IOC(Inversion of Control)翻译过来叫控制反转(你就说这控制反转是啥意思吧,炸一开始谁看能明白吧,中国这大翻译家翻译的)。
自己理解:就是把创建对象这个功能交给spring了,自己不用创建了,不用new了。
然后怎么实现控制反转的呢?
实现控制反转有两种办法:一依赖注入,二依赖查找。
spring是怎么实现控制反转的呢
然后咱们的spring用的事依赖注入。别的框架可能有用到依赖查找的。
问题又来了,依赖注入有很多种方法,set方法注入、构造注入、属性注入。这三种注入都需要加上注解。
这时候问题又来了 啥是set方法注入、构造注入、属性注入?
注解注入就是注解@Autowrid...,构造注入就是构造函数,属性注入就是咱们最常用的,setter方法。分别在属性,构造函数,set方法上面加注解。
这里面还有循环依赖问题,构造注入是无法解决循环依赖的。详细的再去搜吧,说起来就没头了,本文只是IOC的大白话。
最后IOC的原理,反射。
反射又是啥?
可以过得类的信息,比如包名啥的,反射这一块的去搜搜。
AOP翻译过来面向切面编程,是一种思想。就是横着一刀,比如拦截器,日志就是所有类都执行的东西。
AOP原理动态代理
这时候就得说说啥是代理了,代理分为静态代理和动态代理。这一块自己搜吧
动态代理分类两种:一jdk代理、二是CGlib字节码代理。
jdk代理用的是jdk,java.long包里的一个类,poxy啥的。
cglib代理是spring的,spring.core包里的一个
总结:ioc是帮咱们创建对象的,aop是帮助咱们处理事务的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。