@Configuration是@Component的增强版,
public class Animal{
@Bean
public Dog Dog(){
return new Dog();
}
}
如果我们在这个类上面加@Component注解时,当外界多次调用该类中的Dog()方法时,spring容器中会多次创建Dog对象,而在这个类上加@Configuration注解时,当外界多次调用Dog()方法时,spring容器中只有一个Dog对象,也就是说当容器中没有Dog对象时,创建一个Dog对象,当有Dog对象时,直接拿来用。