在看Spring源码,测试到了一个地方有点不解。
BeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring-test-bean.xml"));在这个xml里面手动配置一个bean,在Spring载入的过程中,xml里面bean会被放在beanFactory中,但是其他的通过注解的注入bean的此时却不在。
public void xmlbeanFactoryResource() throws IOException {
BeanFactory factory = new XmlBeanFactory(new ClassPathResource(
"spring-test-bean.xml"));
//getBeanTest xml 注入,有值
GetBeanTest beanTest = (GetBeanTest) factory.getBean("getBeanTest");
beanTest.beanTest();
//personArtServiceimpl  @service注入  factory 无值,报错
System.out.println(factory.getBean("personArtServiceimpl"));
}
有没有朋友能告诉我为什么呢。自动注解是什么时候注入的呢(ApplicationContext我也是过了也是这样)。
我的想法是再启动Spring的过程中,Spring 应该会先把配置文件中的bean注入,在去按照扫描规则找注解注入的。但是,代码就那么几行,他在哪里注入的注解bean呢?