将Spring @Configuration类理解为BeanDefinitions生成器

时间:2016-09-28 11:21:49

标签: spring spring-java-config

使用@Configuration注释的类等效于使用带有<bean>元素的传统Spring XML定义bean。

如果我理解得很清楚,每个@Bean定义会生成一个BeanDefinition,Spring会用它来生成一个bean,不是吗?

现在假设我自动连接ApplicationContext并访问其中一个bean:

@Configuration
public class SomeConfig{

    @Autowired
    private ApplicationContext ac;

    @Bean
    public MyBean myBean(){
        AnotherBean ab = (AnotherBean) ac.getBean("someBean");
        MyBean mb = new MyBean(ab);
        return mb;
    }
}

我真的是在访问bean还是BeanDefinition?这有影响,我不希望容器在BeanDefinition阶段开始创建所有bean。

如果我是@Autowire bean,我实际上是自动装配bean还是BeanDefinition?

@Configuration
public class SomeConfig{

    @Autowired
    private AnotherBean ab;

    @Bean
    public MyBean myBean(){
        MyBean mb = new MyBean(ab);
        return mb;
    }
}

0 个答案:

没有答案