概念:

控制反转[Inversion of Control]指应用本身不负责依赖对象(被调用对象)的创建及维护,由外部容器(Spring容器)负责依赖对象的创建及维护.

实现方式:

第1种: 构造方法

<bean id="Bean匿名" class="类全名" />

第2种: 工厂类的静态方法

<!-- Bean匿名=工厂类.静态方法名() --><bean id="Bean匿名" class="工厂类全名" factory-method="静态方法名"/>

第3种: 工厂类的对象方法

<bean id="别名A" class="工厂类全名"/>
<bean id="别名" factory-bean="别名A"  factory-method="方法名"/>

第4种: 注解方式

  1. 添加context命名空间和context约束文件的地址 ( IDEA会自动生成 )
  2. 添加 < context:component-scan base-package="包名" > (输入com会联想到)
  3. 在相关类上添加注解:

注解: @Controller[标注在Action类上],@Service[标注在业务类上],@Repository,@Component[无法分辨层级,比如实体]

作用: 声明将当前类交给Spring容器管理.

              扫描指定包中的类:

  1. Spring将扫描指定包中的类,默认扫描的类的Bean匿名为首字母小写的类名.

设置别名:

(设置别名一般用于注解方式的自动扫描,有两个相同名字的类出现时,设置别名以防冲突报错)

  1. 可以通过设置注解中的属性[通常为value属性],自定义别名.如 : @Component ( Value )

2.控制反转 spring_ioc相关推荐

  1. 浅析Spring——控制反转IoC

    目录 1. IoC理论推导 2. 什么是IoC? 3. 引入DI 4. IoC容器 5. 注入对象的四种方法 1.基于接口 2.基于setter 3.基于构造函数 4.基于注解 6. 两种IoC实现方 ...

  2. ioc spring 上机案例_IOC(控制反转)—最后的爱,是放手

    [摘要]Spring框架的一个重要理念之一,就是IOC,英文全拼为Inversion of Control, 中文翻译为控制反转,这是一个非常伟大的理念,不应该只是在程序中被提及. 某些教程,因为缺乏 ...

  3. [翻译]StructureMap 指南 – .NET中的依赖注入和控制反转

    原文地址:http://www.pnpguidance.net/Post/StructureMapTutorialDependencyInjectionIoCNET.aspx StuctureMap ...

  4. 代码的演化-DI(理解依赖注入di,控制反转ioc)

    控制反转(Inversion of Control IoC)在java中,Spring就是一个很好的应用.用于解除使用者和生产者的耦合. 一般的代码中.使用者即是生产者,使用者在调用它需要的对象的时候 ...

  5. 控制反转---依赖注入理解

    在学习Spring的时候,意外找到这个控制反转(IoC)和面向切面(AOP)的容器框架之前,我们先来看一下什么是控制反转(IoC). 控制反转(Ioc)和依赖注入(DI)刚听到感到很难理解,平时也程序 ...

  6. 庖丁解牛Nop:控制反转--IOC和DI

    IOC中文名被称作控制反转(Inversion of Control),DI被称为依赖注入(Dependency Injection); 使用控制反转开发模式是先开发接口,然后再实现类.这种方法却可以 ...

  7. Unity(1)控制反转

    控制反转 依赖注入方式 DI Types(Dependency injection) 接口注入 在接口中定义需要注入的信息. 首先定义一个接口,组件的注入将通过这个接口进行,该接口应由组件提供者提 供 ...

  8. php程序设计依赖注入_PHP控制反转和依赖注入

    [TOC] PHP和依赖注入 理论知识 要了解控制反转( Inversion of Control ), 我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversio ...

  9. python ioc di_Spring介绍,IOC(控制反转),DI(依赖注入)介绍及两种注入方法

    Spring介绍,IOC(控制反转),DI(依赖注入)介绍及两种注入方法 第一中方法:在xml文件中注入: (1)开源的轻量级的应用开发框架 特点:a.简化开发:b.解耦:c.集成: 原理对象与对象之 ...

最新文章

  1. POJ 3111 K Best (最大化平均值,贪心 二分)难度⭐⭐⭐
  2. ubuntu安装(owncloud-docker安装)
  3. mysql查询无限下级_示例php+mysql查询实现无限下级分类树输出
  4. 直击 Elementary OS 0.3 Freya - 下载和安装指南
  5. ARP防治攻略————服务器防护
  6. Linux中的工作队列
  7. Android LayoutInflater 动态地添加删除View
  8. 收银机打印数据截取_自助收银机大大节约了人力成本
  9. CMS系统评测,主流自助建站系统比较排名
  10. IMX462 Sensor 对接HI3559A
  11. java物业管理系统描述,基于java小区物业管理系统.doc
  12. videojs-flash.min.js 报错 this.el_.vjs_getProperty is not a function
  13. Blender骨骼动画记录
  14. android 好友功能,ListView模拟微信好友功能
  15. Docker,compose,kitematic Overview and build Php WordExpress
  16. win10更新至1909版本后,Primo Ramdisk失效的解决方案
  17. Go语言解析Json(使用jsonparser)
  18. Linux 安装VMware Tools(open-vm-tools)实现桌面全屏、跨平台复制等功能
  19. Centos7.9+mysql8.0开启指定IP远程连接数据库
  20. 电子称DIY(贴应变片+写代码)

热门文章

  1. android studio异步单元测试,在Android Studio中可以进行单元测试
  2. todo已完成任务_uTools 插件介绍 | 「todo」!打工人必备
  3. Oracle 原理:用户和权限,Profile,系统权限,对象权限,角色
  4. 判断是不是素数python_Python 判断是否为质数或素数的实例
  5. 理解:TI C6000 数据存储处理与性能优化
  6. vnc远程桌面复制文件Linux,vncviewer远程桌面linux
  7. 盘点 Serverless 架构的六个特质
  8. 张家港职称计算机应用能力考试,2016年江苏张家港计算机应用能力考试零基础备考...
  9. vscode怎么写qt项目_使用VSCode 编译调试QT程序
  10. 消息队列 策略_消息模型:主题和队列有什么区别?