Spring 中的 IoC 的实现原理就是工厂模式加反射机制。

  1. interface Fruit {

  2.     public abstract void eat();

  3. }

  4. class Apple implements Fruit {

  5.    public void eat(){

  6.        System.out.println("Apple");

  7.    }

  8. }

  9. class Orange implements Fruit {

  10.    public void eat(){

  11.        System.out.println("Orange");

  12.    }

  13. }

  14. class Factory {

  15.    public static Fruit getInstance(String ClassName) {

  16.        Fruit f=null;

  17.        try {

  18.            f=(Fruit)Class.forName(ClassName).newInstance();

  19.        } catch (Exception e) {

  20.            e.printStackTrace();

  21.        }

  22.        return f;

  23.    }

  24. }

  25. class Client {

  26.    public static void main(String[] a) {

  27.        Fruit f=Factory.getInstance("io.github.dunwu.spring.Apple");

  28.        if(f!=null){

  29.            f.eat();

  30.        }

  31.    }

  32. }

转载于:https://www.cnblogs.com/chinaifae/p/10443123.html

Spring IoC 的实现机制相关推荐

  1. 动态代理/spring IOC/JAVA反射机制

    动态代理 代理的作用就是控制对象的访问权限: 首先我们需要写一个接口 这个就是代理接口 public interface Student { public void S1(); } 然后在写一个接口的 ...

  2. Spring IOC 组件概述

    IOC 概述 IOC: Inversion of Control(控制反转), 这里其实指的是: 将程序中需要使用的 POJOs, 丢入到容器中, 解析成统一的 BeanDefinition(主要基于 ...

  3. 解析Spring IOC原理——工厂模式与反射机制的综合应用

    (一)工厂模式 从一个例子开始讲起: 首先我们建立一个Chinese.java类,该类的sayHelloWorld(String name)方法,用中文对名为name的人问好,其内容如下: [java ...

  4. Spring IoC 源码系列(三)Spring 事件发布机制原理分析

    在 IoC 容器启动流程中有一个 finishRefresh 方法,具体实现如下: protected void finishRefresh() {clearResourceCaches();init ...

  5. Spring IoC是如何进行依赖注入的

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 依赖注入(DI) DI(Dependency Injection) ...

  6. 谈谈对Spring IOC的理解

    2019独角兽企业重金招聘Python工程师标准>>> 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人 ...

  7. Spring点滴一:Spring Ioc 容器

    Spring 容器: Spring 容器是Spring框架的核心.Spring容器将创建Bean对象实例,把它们联系在一起,配置它们,并管理它们整个生命周期从创建到销毁.Spring 容器通过依赖注入 ...

  8. 彻底理解Spring IOC和DI

    目录 前言 1. 分享Iteye的开涛对Ioc的精彩讲解 1.1 IoC是什么 1.2 IoC能做什么 1.3 IoC和DI 2. 分享Bromon的blog上对IoC与DI浅显易懂的讲解 2.1 I ...

  9. Spring:源码解读Spring IOC原理

    2019独角兽企业重金招聘Python工程师标准>>> 一.什么是Ioc/DI? IOC容器:主要是完成了 完成对象的创建和依赖的管理注入等. 先从我们自己设计这样一个视角来考虑: ...

  10. Spring IOC之依赖

    一个标准的企业级应用不只有一个对象组成.即使是最简单的引用也会有个相互作用的对象以使最终呈现 在用户面前的是个连贯一致的引用. 1依赖注入 依赖注入(DI)是一个对象定义他们依赖的过程,也就是说他们一 ...

最新文章

  1. 控制反转(IoC)-解析与实现
  2. 计算机AL教程笔记,计算机系统基础学习笔记(2)-数据的位运算操作
  3. 写博客一周我有哪些收获
  4. 类加载、类加载器、反射
  5. 「Github」Linux/Ubuntu下终端Github教程与手册
  6. Redis高级实用特性:发布及订阅消息
  7. qml 不刷新 放大还原_【显示器选择详解】你的电脑能否带动高分辨率,高刷新率显示器?...
  8. 一步一步写算法(开篇)
  9. centos mysql 5.5.57_centos 6.5装mysql5.7
  10. vue 打包css路径不对_vue项目打包后css背景图路径不对的问题
  11. seay源代码审计系统的使用方式
  12. Python飞机大战游戏 附素材及源码
  13. [培训-DSP快速入门-1]:DSP概述(基本框架、CPU, GPU, FPGA比较,常见型号)
  14. 5G接入网学习:回顾电调天线
  15. facebook登陆授权 服务器接入记录
  16. win7 c盘空间不足怎么扩大
  17. 人生就是游戏,你如何遵守游戏规则?
  18. 7-11 群发邮件 (10 分)
  19. 宠物领养管理系统|宠物寄养管理系统JAVA|JSP|SSM|Springboot|web计算机毕业设计源码
  20. 教你如何批量新建文件夹并命名?

热门文章

  1. 【北京集训D2T3】tvt
  2. 使用kermit通过串口升级uboot
  3. 验证视图MAC失败 解决办法
  4. python3的文件编码问题
  5. LUT Gallery for mac插件不能用要怎么办呢?教程来了,快来看看吧
  6. iOS底层探索之多线程(十六)——锁分析(NSLock、NSCondtion、NSRecursiveLock、NSCondition)
  7. 如何利用Camtasia给视频加上配音?
  8. 欧拉函数及其扩展 小结
  9. Kotlin入门到放弃
  10. 京东黑科技引爆车联网时代 你的爱车升级了吗?