基于注释的工厂方法

2022-09-03 05:58:12

我希望能够自动连接单例豆(foo)

@Component
public class FooUser {

  @Autowire Foo foo;
}

由另一个单例方法 (FooFactory.createFoo)

@Service
public class FooFactory {

  public Foo createFoo() {...}
}

使用xml,它只是.我怎么能用注释来做?factory-method


答案 1

请尝试使用 Java:@Configuration

@Configuration 
public class Config {

    @Bean
    public FooUser fooUser() {
        return new FooUser(foo());
    }

    @Bean
    public FooFactory fooFactory() {
        return new FooFactory();
    }

    @Bean
    public Foo foo() {
        return fooFactory().createFoo();
    }

}

答案 2

你需要java-config - @Bean注释

将类定义为,将方法定义为@Configuration@Bean


推荐