美文网首页
TintySpring构建过程 Step1-简单容器实现

TintySpring构建过程 Step1-简单容器实现

作者: ArthurPapa | 来源:发表于2019-01-19 22:18 被阅读0次

TintySpring构建过程 Step1-简单容器

  1. 最基本的容器
    • 最基本的容器我们需要的是一个能够容纳我们创建的Bean总统类。我们创建一个BeanFactory
    • 我们对我们要处理的Object进行一层封装,方便我们做行为(修饰器模式)。我们创建BeanDefinition
    • 这样我们就实现了一个最简单的容器

BeanFactory

public class BeanFactory {

    private Map<String, BeanDefinition> beanDefinitionMap = new ConcurrentHashMap<String, BeanDefinition>();

    public Object getBean(String name) {
        return beanDefinitionMap.get(name).getBean();
    }

    public void registerBeanDefinition(String name, BeanDefinition beanDefinition) {
        beanDefinitionMap.put(name, beanDefinition);
    }

}

BeanDefinition

public class BeanDefinition {

    private Object bean;

    public BeanDefinition(Object bean) {
        this.bean = bean;
    }

    public Object getBean() {
        return bean;
    }

}

Test

public void test() {
    // 1.初始化beanfactory
    BeanFactory beanFactory = new BeanFactory();

    // 2.注入bean
    BeanDefinition beanDefinition = new BeanDefinition(new HelloWorldService());
    beanFactory.registerBeanDefinition("helloWorldService", beanDefinition);

    // 3.获取bean
    HelloWorldService helloWorldService = (HelloWorldService) beanFactory.getBean("helloWorldService");
    helloWorldService.helloWorld();
}

相关文章

网友评论

      本文标题:TintySpring构建过程 Step1-简单容器实现

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