如何在Java配置中使用工厂方法初始化Spring bean?

时间:2015-04-10 10:56:07

标签: java spring

我在基于Java的配置中使用Spring。我想使用工厂方法初始化bean。在XML中,它是这样完成的:

<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />

我如何用Java做同样的事情?

2 个答案:

答案 0 :(得分:2)

应该很简单。你有一个名为processEngine的工厂,在工厂里你有方法getRepositoryService,所以它应该在某个地方:

public class ProcessEngine {
     public XXXX getRepositoryService() {
         ...
     }
}

答案 1 :(得分:2)

我认为这与here

类似

在java配置中,您必须定义工厂bean(processEngine)并在定义repositoryService时调用工厂方法(getRepositoryService)

根据其他答案,您的命名如下:

@Configuration
public class Config {
     @Bean
     public ProcessEngine processEngine() {
         return new ProcessEngine();
     }

     @Bean
     public RepositoryService repositoryService() {
         return processEngine().getRepositoryService();
     }
}