带定义的Bean定义inheritance?

是否可以使用基于注释的配置( @Bean等)实现相同的beaninheritance?

         

http://docs.spring.io/spring/docs/4.1.0.BUILD-SNAPSHOT/spring-framework-reference/htmlsingle/#beans-child-bean-definitions

java配置中没有抽象bean的概念,因为java语言已经拥有了你需要的一切。 不要忘记抽象bean根本没有暴露在上下文中,它是某种模板。

您可以按如下方式重写上面的代码:

 @Configuration public class Config { @Bean public DerivedTestBean() { DerivedTestBean bean = new DerivedTestBean(); initTestBean(bean); bean.setName("override"); return bean; } private void initTestBean(TestBean testBean) { testBean.setName("parent"); testBean.setAge(1); } } 

如果应该共享initTestBean ,您也可以将其公开,并在需要时将Config注入其他位置。