是否可以注入Spring配置方法?

时间:2014-08-21 12:56:26

标签: java spring

使用Spring Configuration类,即不使用基于XML的配置。是否可以像Guice一样注入工厂方法?

如果我有像

这样的提供者方法,那就在Guice中
  @Provides
      public DatastoreService datastoreService(String url) { // Spring will inject this method parameter, if it is mapped of course. 
        return DatastoreServiceFactory(url);
      }

春天有可能吗?

喜欢

@Bean
public Performer poeticDuke(Poem poem) {
return new PoeticJuggler(poem);
}

而不是:

@Bean
public Performer poeticDuke() {
return new PoeticJuggler(sonnet29());
}

这来自书籍Spring in Action 3

2 个答案:

答案 0 :(得分:1)

是的,如果Poem也是豆,那么肯定是可能的。否则看起来很奇怪:Spring在哪里可以找到Poem否则?

答案 1 :(得分:1)

是的,只要方法的参数也是一个Spring bean,它就会起作用!

查看Spring Boot中使用的众多示例之一,如thisthisthis