IoC :控制反转,是一个理论,概念,思想。把创建对象,赋值,管理工作交给代码之外的容器来实现,也就是对象的创建是由其他外部资源来实现的
控制:创建对象,赋值,对象之间的关系的管理
反转:就是把之前由开放人员来创建对象的权限移交给代码之外的容器实现,有容器来代替开发人员管理对象,创建对象,给属性赋值。
为什么要使用Ioc:目的是为了减少代码的改动,也能实现不同的功能,实现解耦合
IoC的技术实现
DI是IoC的技术实现
DI:依赖注入,只需要在程序中提供使用对象的名称就可以了,至于对象如何被创建,查找,赋值都是由容器来实现的
创建spring配置文件 beans.xml
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- xsd 约束文件 ,和Mybatis中的dtd是一样的 -->
<!-- 声明bean 就是告诉Spring对象要创建哪个类的对象
id:唯一值 ,自定义 ,Spring通过这个名称找到对象
Class:类的全限定名称 (不能是接口)
-->
<!--
spring 就完成 SomeService someService = new SomeServiceImpl();
spring就把创建好的对象放入到map中存储 spring框架中有一个map用来存放对象
springMap.put(id的值,对象)
springMap.put("someService",new SomeServiceImpl());
一个bean标签声明一个对象
-->
<bean id="someService" class="com.bjpowernode.service.Impl.SomeServiceImpl">
</bean>
</beans>
实现步骤
1.创建maven项目
2.加入maven依赖(spring依赖,junit依赖)
3.创建类(接口和他的实现类)
4.创建spring需要使用的配置文件
声明类的信息,这些类由由spring创建和管理
5.测试spring创建的
------------------------------------------------------个人笔记