IOC: Inverse Of Control 反转控制
将我们创建对象的方式反转了,以前的对象的创建是我们开发人员自己维护,包括依赖关系也是我们自己注入
使用spring 之后,对象的创建以及依赖关系可以由spring完成创建以及注入。
反转控制是反转了对象的创建方式,从我们自己创建反转给了程序(spring)
DI Dependency Injection 依赖注入
实现IOC思想需要DI的支持
注入方式:set方式、构造方法、字段注入
注入类型:值类型注入(8大基本数据类型),引用类型注入(将依赖的对象支持)
(1)导包,如下图,其中最下层为我们需要导入的最最核心的包,从spring-framework-4.2.4.RELEASE->libs当中去导包
(2)导包如下
(3)其需要日志,其在spring-framework-3.0.2.RELEASE-dependencies--》org.apache.commons--》com.springsource.org.apache.commons.logging-->1.1.1->com.springsource.org.apache.commons.logging-1.1.1.jar
注意:可能有的老版本需要导入com.springsource.org.apache.log4j-1.2.15.jar,其寻找路径如下
(3)创建一个对象
(4)书写配置文件
spring配置文件名称以及位置没有要求,但业内一般命名为applicationContext.xml,放在src下面
4.1导入约束windows-->preferences-->搜索catalog--》点击add-->File system-->
spring-framework-4.2.4.RELEASE-->schema-->beans(今天学习所用)-->spring-beans-4.2.xsd,(这个为最新版)
同时,,key type 选择为schema location,,,key:为当前目录加上文件名
如图
xml文件当中书写
首先书写根节点<beans></beans>
(1)切换到design视图--》右键点击选择edit namespace-->add-->添加xsi
(2)继续添加 add-->specify new namespqce
browse-->select xml catalog entry
找到刚才找到的schema导入的文件
namespace name 为location hint 去掉文件名的路径
prefix为空的
当配置文件如图,且回到source 视图下alt+/有提示,则配置成功
(5)约束导完的配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
<!-- 将User对象交给spring 容器管理 -->
<bean name="user" class="cn.itcast.bean.User"></bean>
</beans>
(6)测试是否搭建成功
package cn.itcast.a_hello;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.itcast.bean.User;
public class DemoTest {
@Test
public void fun1() {
// 1、创建容器对象
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
// 2、向容器要user对象
User user = (User) ac.getBean("user");
// 3、打印user
System.out.println(user);
}
}
打印出user地址即为成功