参考链接:https://blog.csdn.net/qq_22583741/article/details/79589910
https://www.cnblogs.com/guxiong/p/6707102.html
https://www.cnblogs.com/best/p/5727935.html
Spring的核心是控制反转(IOC Inversion of Control)和面向切面(AOP aspect oriented Programming)。
控制反转(IOC):
对象的创建权限交给容器,由容器根据配置文件创建对象实例并实现各个对象的依赖关系。
实现原理是:Spring中的IoC的实现原理就是工厂模式加反射机制;
https://blog.csdn.net/fuzhongmin05/article/details/61614873/
依赖注入:
控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种常用方法(另外一种方式叫依赖查找)
注入方式:(将需要被控制器的对象交给Spring的方式)
set方法注入:对象类中声明的属性要实现set方法,并在spring的xml配置文件配置相关数据;
构造方法注入:定义一个有参构造器,然后配置spring的xml文件
https://blog.csdn.net/zhaoraolin/article/details/78941062
还有其他注入方式…(自动装配,字段注入,p名称空间注入)
复杂类型注入,可注入数组,List,Map等
注入类型:
值类型注入
引用类型注入
除了在spring的xml文件配置,还可以使用注解配置Spring
配置包扫描器
<context:component-scan base-package=“ape.acs” />
@Service //Service层
@Controller //web层
@Repository //dao层
AOP:
AOP Aspect Oriented Programing 面向切面编程
原理:动态代理(被代理的类需要实现接口)
这里可以看一下:https://blog.csdn.net/u010890358/article/details/80640433
经过配置我们获取到的就是Spring动态代理后进行增强过的代理对象。