Spring介绍
1.spring是轻量级的开源的JavaEE框架
2.Spring可以解决企业应用开发的复杂性
3.Spring有两个核心部分:IOC、AOP
(1)IOC:控制反转,把创建好的对象给Spring进行管理
(2)AOP:面向切面编程,不修改源代码的情况下进行功能增加。
1. IoC容器
IoC容器:具有依赖注入功能的容器,可以创建对象的容器。IoC容器负责实例化、定位、配置应用程序中的对象并建立这些对象之间的依赖。
2. 依赖注入
DI,英文全称,Dependency Injection,意为依赖注入
Spring依赖注入的方式主要有四个,基于注解注入方式、set注入方式、构造器注入方式、静态工厂注入方式。推荐使用基于注解注入方式,配置较少,比较方便。
Spring特点
1.方便解耦,简化开发。
2.AOP支持
3.方便程序测试
4.方便和其他框架整合
6.降低了API开发难度
IOC底层原理和基本概念
inversion for control 控制反转。把对象创建和对象之间的调用过程,交给spring进行管理。
使用目的:为了耦合度降低。
耦合度:也就是两个方法之间的关联程度,越小越好。
类似于图下,如果我去修改了UserDao中的add方法,那么Service层中的方法也需要去修改。 但是当我们去使用了工厂模式,就会去降低耦合度
服务层代码
控制层代码
除此之外,对于一些复杂的装载Bean的时机,比如我们需要根据配置装载不同的Bean,以完成不同的操作,可以使用getBean(“beanID”)的方式来加载Bean。
通过BeanID加载Bean方法如下
我们在需要装载Bean的地方调用该方法即可