2 Spring IOC控制反转
2.1什么是控制反转
IOC(Inversion of Control),控制反转。
所谓的控制反转,就是指将对象的创建,对象的存储(map),对象的管理(依赖查找,依赖注入)交给了spring容器。
(spring容器是spring中的一个核心模块,用于管理对象)
在此之前,当需要对象时,通常是利用new关键字创建一个对象:
但由于new对象,会提高代码之间耦合性.
而使用spring框架,对象的创建可以交给spring来做:
只需要将类提前配置在spring配置文件中,就可以将对象的创建交给spring容器,当需要对象时,不需要自己创建,而是直接通过spring获取即可,省去了new对象,可以降低代码之间的耦合性。
2.2 IOC入门案例
2.2.1创建Maven工程,引入spring相关依赖包
1)、创建Maven—Java工程
2、引入spring的jar包:在maven工程的pom.xml文件中添加如下配置:
导入后保存pom文件,项目如图所示:
2.2.2创建spring核心配置文件—applicationContext.xml
1)、在工程的java/resources目录下,创建applicationContext.xml文件:
2、在applicationContext.xml中添加如下内容(下面的配置不需要掌握,只是一个文件格式):
2.2.3创建实体类—Hello,并将Hello对象的创建交给Spring管理
1)、创建Hello实体类
2、在Hello类中添加方法如下:
3)、将Hello对象的创建交给Spring容器来管理,在核心配置文件中添加如下配置:
2.2.4创建测试类—TestIOC,创建Hello对象,并调用其中的方法。
1)、创建TestIOC测试类
2、测试步骤及代码如下:
3)、运行结果:
2.3 IOC小结
这就是spring框架的IOC——控制反转。之前我们自己new对象,例如:
User u = new User();
而现在,变成由一个初始化的xml配置文件来创建,也就是由spring容器来创建。
Hello hello = (Hello) ac.getBean(“hello”);
当程序运行,spring开始工作后,会加载整个xml核心配置文件,读取到,获取到class属性中类的全路径,利用反射创建该类的对象。