Spring IOC原理详解以及实现IOC的多重实现方式

本文详细解析了Spring的控制反转(IOC)原理,强调了IOC如何通过反转对象的创建和依赖注入来降低耦合。介绍了两种实现IOC的方式:XML配置和注解。XML配置虽然常见,但注解能提高开发效率,如使用@Component及其衍生注解@Repository、@Service和@Controller。通过注解,Spring容器可以自动管理Bean,简化配置。
摘要由CSDN通过智能技术生成

        控制反转IOC:Spring通过一种称作控制反转的技术来更好的实现低耦合。那么什么是控制反转呢?在了解控制反转之前我们先要了解IOC容器怎么管理对象,通常我们直接在对象内部通过new进行对象的创建,是程序主动去创建依赖对象;而IOC是专门有一个容器来管理、控制、创建这些对象,以及控制外部资源获取;传统应用程序是有我们自己再对象中主动控制去直接获取依赖对象。而反转则是由容器来帮忙创建及注入依赖对象;那为什么要反转呢?由容器帮我们查找及注入依赖对象,对象是被动的接受依赖对象。这就是所谓的控制反转。应用IOC,一个对象依赖其他对象会通过被动的方式传递进来,而不是这个对象自己去创建或者查找依赖对象。容器会在对象初始化时不等对象请求就主动将依赖传递给它。

IOC实现方式

    【1】使用xml方式实现ioc    --常用

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="bookdao" class="com.zhangguo.Spring051.ioc01.BookDAO"></bean>
</beans>

    【2】使用注解 --常用

        注:如果内容比较多使用配置会花费很多时间降低开发效率,通过注解可以减轻工作量,但是注解后修改要麻烦一些,耦合度会增加,应该根据需要选择合适的方法。

在类上增加一个@Component,在类的开头使用了@Componet注解,他可以被Spring容器识别,启动Spring后,会自动把它转成容器管理的Bean。

除了@Component外,Spring提供了3个等效的注解,分别对应于DAO层、Service层和Controller进行注解。

    (a):@Repository用于对DAO实现类进行注解;

    (b):@Service用于对业务层注解,他是与@Component最相近的一个;

    (c):@Controller用于标注在控制层;

        


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值