Ioc控制反转

本文介绍了IOC控制反转的概念,从传统的开发模式到工厂模式的演变,再到Spring的出现和IOC的优势。通过bean标签的使用,包括name属性、scope属性以及bean的生命周期管理,如init-method和destroy-method。此外,还提及了如何处理静态工厂和实例工厂以适应Spring的IOC容器。
摘要由CSDN通过智能技术生成

2、IOC控制反转简介

耦合和内聚

耦合coupling:结合 联结

  • 耦合:代码书写过程中技术的结合紧密度。用于衡量各个模块之间的紧密程度。
  • 内聚:单个模块内部组成部分之间的联系。测试紧密程度。

请添加图片描述
程序书写目标:高内聚,低耦合。

模块之间不能紧密,单个模块内部要高度紧密。

1、工厂模式发展历程

1、直接new一个dao对象在我们的类代码中(传统的开发模式)
  • 直接new一个dao对象在我们的类代码中

因为每出现一个dao实现类,就会要重新再类中去创建对象,这样增加了两个模块之间的耦合程度,所以才出现了工厂模式

请添加图片描述

2、出现了工厂代理(使用工厂类new一个对象)

new对象不再在我们的类中操作,全部在工程类中的操作,工厂类会返回一个new出来的对象,也就是说,创建对象的任务交给了工厂类。

有了工厂就不用修改调用方源代码,但是需要修改工厂代码;工厂与dao代码耦合,这样也降低了两个模块之间的耦合度。

请添加图片描述

3、加入了配置文件

将实现类更新到配置文件中,工厂只需要通过读取配置文件的方式将实现类返回给我们的类。只需要改配置文件。

请添加图片描述

4、spring雏形

请添加图片描述
有了spring就不用再使用工厂设计模式了,sping容器比工厂模式更优秀。

5、ioc

ioc:控制反转,spring控制应用程序所需要使用的外部资源;

传统模式开发是通过new一个对象,去获取另一个类的资源的,这种主动权全都在类手上,代码不移维护,为了容易维护代码才有了spring的控制反转,控制反转就相当于,spring拿下了类的控制权,

所有的new对象和获取外部资源都交给spring的ioc容器

spring控制的资源全部放在spring容器当中,该容器成为ioc容器。
请添加图片描述

3、ioc控制反转入门案例

1、接口

package com.zhu.service;

public interface UserService {
   

    public void save();

}

2、这个接口的实现类

package com.zhu.service.impl;

import com.zhu.service.UserService;

public class UserServiceImpl implements UserService {
   

    @Override
    public void save() {
   
        System.out.println("这个
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值