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

TintySpring构建过程 Step1-简单容器

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

BeanFactory

public class BeanFactory {

    private Map beanDefinitionMap = new ConcurrentHashMap();

    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-简单容器实现)