Spring_IOC

控制反转

简单的说就是,创建对象的权利,或者是控制的位置,由JAVA代码转移到spring容器,由spring的容器控制对象的创建,就是控制反转,spring创建对象时,会读取配置文件中的信息,然后使用反射给我们创建好对象之后在容器中存储起来,当我们需要某个对象时,通过id获取对象即可,不需要我们自己去new.
一句话:创建对象交给容器 

1.不使用Spring的创建对象图:

2.Spring解耦合的原理

图解:

IOC原理分析:

1.XML解析技术读取配置文件

<bean id="empDao" class="com.msb.dao.impl.EmpDaoImpl"></bean>

将上面的信息读取进入程序  对象的ID ,一个是对象的类的全路径名

2.反射技术实例化对象,放到容器中

        获得类的字节码

        Class clazz =Class.forName("com.msb.dao.impl.EmpDaoImpl")

        通过字节码实例化对象

        Object obj = class.newInstance();

        将对象放到一个map集合中

        map.put("empDao",obj)

3.工厂模式返回Bean对象 getBean方法

public Object getBean(String Name){
        Obejct obj = map.get(name);

        return obj;

}

IOC接口
   BeanFactory            接口: IOC容器基本功能接口,是spring内部使用的接口,我们在处理业务时一般不直接使用该接口
   ApplicationContext 接口: BeanFactory的子接口,提供更多更强大的功能,研发人员一般使用的接口

 

spring中的Bean的管理:
Bean(汉译咖啡豆). 又称JAVABean.其实就是JAVA程序程序中的一个个对象,所以Bean的管理其实就是spring对于JAVA程序中的对象的管理

管理的内容是什么

1 对象的创建   IOC
IOC   叫做控制反转,就是Spring给我们创建对象,然后我们直接用,不用自己NEW,前面已经解释过
IOC处理的是对象如何创建的问题

2 属性的赋值   DI
DI    Dependency Injection,即“依赖注入” 就是创建属性时给对象属性赋值
对象功能的实现往往要依赖属性的值,那么给对象属性赋值就可以说成是依赖注入
由于对象属性不仅仅是基本数据类型,还可能是其他类,或者引用类型
那么依赖注入将会把更多的对象之间的关系整理到一起,可以行程一个庞大的依赖关系
DI处理的是对象的属性赋值和互相依赖的关系

spring给我们提供了两种关于bean的方式

1 基于XML方式的Bean管理

2 基于注解方式的Bean管理

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值