0

如何在命名的 Spring Service 中指定匿名内部 bean?

@Service("myNamedService")
public class myNamedServiceClass  {

    private InnerBeanType innerBean;

    @Autowired
    public void setInnerBean(InnerBeanType innerBean) {
        this.innerBean = innerBean;
    }

}

我基本上是在尝试实现以下 Spring XML 接线的等效项:

<bean name="myNamedService" class="somePackage.myNamedServiceClass">
    <property name="innerBean">
        <bean class="somePackage.InnerBeanType"/>
    </property>
</bean>
4

1 回答 1

0

我认为使用纯注释等效是不可能的。@Configuration如果目的是不以这种方式公开innerBean为可见 bean,则可以使用:

@Bean
public MyNamedServiceBean myNamedServiceBean(){
  MyNamedServiceClass myNamedServiceBean = new MyNamedServiceClass();
  myNamedServiceBean.setInnerBean(new InnerBeanType());
  return myNamedServiceBean;
}
于 2013-02-09T01:14:24.937 回答