Spring中什么是控制反转,依赖注入?

Spring 核心思想之一IOC/DI:创建控制对象的主权反转,获取对象的方式反转

IOC:负责创建对象及其生命周期控和关系控制。以单例模式来管理创建对象的生命周期,由原先的应用程序主动创建对象变为被动接手注入的对象,由IOC进行对象的实例化

、装载、销毁。

IOC控制对象:控制外部资源的获取(包括对象、文件等等)----应用获取获取用.getBean()方法

反转:依赖获取对象被反转,Spring容器帮我们查找注入依赖对象,对象被动的接受依赖对象

实现方法:applicationContext.xml文件的配置将所有的实现类交由IOC容器进行配置

<!-- beans的标签属性
default-lazy-init:true/false全部设置为延迟或非延迟-->
<beans>
<!-- bean的标签属性:
id:
class:

lazy-init 延迟实例化bean对象,

init-method:初始化方法

destory-method:销毁方法

depend-on:依赖某实例对象

parent:继承父类

ref:bean的id
-->
<bean id="iocService" class="com.javalxj.spring.ioc.service.impl.iocServiceimpl" lazy-init="true">
<!-- 依赖注入 -->
<property name="password" value="123456"></property>
<property name="num" value="123456"></property>
<property name="iocDao" ref="iocDao"></property>
</bean>
<bean id="date" class="java.util.Date"></bean>
<!-- 逻辑层调用数据层
1、将数据层交由bean -->
<bean id="iocdao" class="com.javalxj.spring.ioc.dao.impl.iocDaoImpl"></bean>
</beans>

依赖注入----组件之间的依赖关系由容器运行时期决定。由容器的动态的某个依赖关系注入到组件中去

目的:提升组件重用频率,为系统搭建一个灵活可扩展的平台

依赖关系:应用程序依赖IOC容器获取外部资源

谁输入谁:IOC容器注入了应用程序的某个对象-----应用程序依赖的对象

注入了什么::注入了某个对象所需要的外部资源对象

实现方法:在Bean标签中配置property标签,name为类中元素,如果元素类中为基本数据类性用value属性直接赋值

如果为一个封装类则用ref标签指向所要用到的ID值的类配置完成后完成配置文件的属性初始化

<!-- 依赖注入 -->
<property name="password" value="123456"></property>name---指的是属性名
<property name="num" value="123456"></property>
<property name="iocDao" ref="iocDao"></property>


优点:高内聚低耦合,单例模式防止内存溢出,避免频繁操作

创建对象的防止:一\new二、java反射机制三、

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值