对Spring IOC的理解(1)
2014-04-04 10:50
225 查看
1. IOC即(Inversion of Control)控制反转,也可以叫做DI(Dependency Injection)依赖注入。
2.AOP(面向切面编程),声明式事务都是在IOC的基础上开花结果。
现在我们来理解下IOC的概念。。。
概念:即调用类对某一个接口实现类的依赖关系由第三方(容器或者协作类)注入,以移除调用类对该接口实现类的依赖关系。
下边举个例子来说明(个人理解,,):
不用IOC概念的例子:
pubic class B{
A c=new C();
public void print()
{
c.eat();
}
}
public interface A()
{
pubic void eat();
}
class C implements A{
public void eat()
{
System.out.pringln(“我是Class C 的eat 方法”):
}
B类中的print 方法要c对象,c是A接口,具体实现类是C。不用IOC概念的话就像上边直接在B类里边new C();这样直接在B类里边建立与C 的依赖关系。
如果用IOC概念的话:
将B与C的依赖关系放到第三方里边,就Spring 而言是放在IOC容器里边,具体就是配置文件(*.xml,具体什么名字随你)中,(前提是B类中有cccccc属性的setter方法)
<bean id=ccccc,class=C/>
<bean id=b,class=com.*.*.B>
<property name="c">
<ref="ccccc"/>
</property>
</bean>
2.AOP(面向切面编程),声明式事务都是在IOC的基础上开花结果。
现在我们来理解下IOC的概念。。。
概念:即调用类对某一个接口实现类的依赖关系由第三方(容器或者协作类)注入,以移除调用类对该接口实现类的依赖关系。
下边举个例子来说明(个人理解,,):
不用IOC概念的例子:
pubic class B{
A c=new C();
public void print()
{
c.eat();
}
}
public interface A()
{
pubic void eat();
}
class C implements A{
public void eat()
{
System.out.pringln(“我是Class C 的eat 方法”):
}
B类中的print 方法要c对象,c是A接口,具体实现类是C。不用IOC概念的话就像上边直接在B类里边new C();这样直接在B类里边建立与C 的依赖关系。
如果用IOC概念的话:
将B与C的依赖关系放到第三方里边,就Spring 而言是放在IOC容器里边,具体就是配置文件(*.xml,具体什么名字随你)中,(前提是B类中有cccccc属性的setter方法)
<bean id=ccccc,class=C/>
<bean id=b,class=com.*.*.B>
<property name="c">
<ref="ccccc"/>
</property>
</bean>
相关文章推荐
- Spring IOC容器理解
- Spring IOC的个人理解及Spring对bean的装配
- 总结: 十分钟快速理解 Spring IoC 控制反转
- IOC 之深入理解 Spring IoC
- 对 Spring ioc 的理解
- 对spring IOC和DI的理解
- spring ioc和aop原理理解
- Java-Spring Ioc 理解
- 对Spring IOC的理解
- 对spring IOC(控制翻转) DI(依赖注入)AOP(面向切面)理解
- Spring IOC 理解
- Spring IOC的理解总结
- 深入理解Spring IOC和集合注入
- 理解Spring IOC
- 深入理解Spring IOC,实现简单IOC容器
- 轻松理解spring IOC
- 理解spring ioc 原理
- 深入理解Spring IOC
- spring IOC与AOP的理解
- Spring IOC 和 DI 理解