美文网首页
自己写一个Spring框架: 01 简单的IOC容器

自己写一个Spring框架: 01 简单的IOC容器

作者: zhang5788 | 来源:发表于2018-08-21 14:19 被阅读70次

这里就不再介绍Spring的IOC是什么了,我们直接开始写代码吧,不知道的可以看一下百度百科中关于IOC的介绍.

划清层次

Spring中,由于所有的引用都是通过IOC来解耦合的,我们在实现这个容器之前,需要先通过我们平常对容器的使用,来反推一下Spring内部的实现过程.

大致可以分为:

  1. 将需要实例化的对象标记(注解方式)或着是定义好实体类,将对象注入(xml方式)
  2. 直接使用

这样,我们就直接将一个对象的实例化和使用解耦合了.期间的所有工作都由spring容器进行完成.

推测如何实现

通过我们的使用,可以很简单的想出:

  1. spring内部维护有一个容器,来管理所有的实例化对象
  2. 这个容器具有最基本的保存对象,取出对象等方法.

代码实现

由于需要按对象名称取出对象,所以我们可以用一个Map容器来实现.
我们定义一个最基本的类BeanFactory
BeanFactory作为基本的容器,来管理对象

代码如下

public class BeanFactory {
    private Map<String, Object> beanDefinitionMap = new ConcurrentHashMap<>();
    
    public Object getBean(String beanName) {
        return beanDefinitionMap.get(beanName);
    }
    
    public void setBean(String beanName, Object bean) {
        
        beanDefinitionMap.put(beanName, bean);
    }
    
}

这样,就完成了一个最简单IOC容器,只是对Map简单封装了一下,当然还有很多功能没做,我们就逐渐完善这个类,直到实现一个功能完善的IOC容器.

相关文章

  • 仿Spring IOC容器

    前面介绍了Spring 框架简介。今天我们来实现一个简单的Spring IOC容器。 根据对Spring IOC框...

  • 详解Spring IOC

    Spring IOC其实很简单  我们通常提到的Spring IOC,实际上是指Spring框架提供的IOC容器实...

  • 2.Spring IoC 容器

    1.Spring IoC 容器 IoC 容器 Spring 容器是 Spring 框架的核心。容器将创建对象,把它...

  • 2020-03-13 spring 框架

    Spring框架 Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架 IOC 控制反转(In...

  • Spring原理简述

    一、什么是Spring容器? Spring容器,也称Spring Ioc容器或bean容器,是Spring框架的核...

  • Spring中的两大核心(Spring是一个IOC和AOP容器框架) IOC与aop IOC(spring的核心思...

  • 自己写一个Spring框架: 01 简单的IOC容器

    这里就不再介绍Spring的IOC是什么了,我们直接开始写代码吧,不知道的可以看一下百度百科中关于IOC的介绍. ...

  • Spring IoC 容器

    1.1 spring IoC容器和beans的简介 Spring 框架的最核心基础的功能是IoC(控制反转)容器,...

  • Spring Ioc DI

    Spring Ioc 容器是Spring框架的核心。只需要进行简单的容器配置,就能将创建对象,使用对象,销毁对象联...

  • 1、IOC(容器)&DI(依赖注入)

    1、什么是IOC?ioc是spring容器,ioc是spring框架的核心,ioc可以分为两类,BeanFacto...

网友评论

      本文标题:自己写一个Spring框架: 01 简单的IOC容器

      本文链接:https://www.haomeiwen.com/subject/iuadiftx.html