Spring/@Beans注释

Spring/@Beans注释,spring,Spring,我正在读《春天医生》。我想知道这两个例子之间有什么区别。我需要创建Bar@bean吗 public class AppConfig { @Bean public Foo foo() { return new Foo(bar()); } @Bean public Bar bar() { return new Bar(); } } VS 在

我正在读《春天医生》。我想知道这两个例子之间有什么区别。我需要创建Bar@bean吗

   public class AppConfig {
        @Bean
        public Foo foo() {
            return new Foo(bar());
        }

        @Bean
        public Bar bar() {
            return new Bar();
        }
    }
VS


在第一个例子中,Bar是一个springbean,而在第二个例子中,它不是

因此,如果Bar必须与其他Springbean自动连接,或者如果它有Spring注释(如事务性注释等),那么第二个示例将无法按预期工作:Bar实例是一个简单的POJO,Spring不知道

public class AppConfig {
    @Bean
    public Foo foo() {
        return new Foo(bar());
    }

    public Bar bar() {
        return new Bar();
    }
}