如何在Spring中使用@autowired标签在子对象之间切换?

时间:2016-03-25 15:53:00

标签: java spring spring-mvc

有没有办法使用@autowired标签注入其中一个子对象?



public class Provider {
 
    @Autowired
    private ParentFeedAPI feedAPI;

}


public abstract class ParentFeedAPI {

}

public class Child1FeedAPI extends ParentFeedAPI{

}

public class Child2FeedAPI extends ParentFeedAPI{

}




Class diagram

1 个答案:

答案 0 :(得分:1)

您应该遵守@Qualifier注释,并使用例如“bean”命名为“bean”。 @Component (或更合适的弹簧构造型注释),类似

public class Provider {

    @Qualifier("child1")
    @Autowired
    private ParentFeedAPI feedAPI;

}

public interface ParentFeedAPI {

}

@Component("child1")
public class Child1FeedAPI implements ParentFeedAPI{

}

@Component("child2")
public class Child2FeedAPI implements ParentFeedAPI{

}

另外,尝试针对接口进行编程