Объявление компонента с использованием аннотаций и родительского абстрактного компонента (который объявлен в файле XML) - PullRequest
0 голосов
/ 13 мая 2018

У меня есть проект Spring, который использует XML и аннотации для объявления bean-компонентов.Я пытаюсь объявить новые бины, используя аннотации.Существуют абстрактные bean-компоненты без реализации:

<bean id="parentBean1" parent="parentBean2" abstract="true">
    <property name="service1" ref="service1" />
    <property name="service2" ref="service2" />
    <property name="service3" ref="service3" />
    <property name="value1" value="123456" />
</bean>

<bean id="parentBean2" abstract="true">
    <property name="newservice1" ref="newservice1" />
    <property name="newservice2" ref="newservice2" />
    ...
    <property name="newservice10" ref="newservice10" />
</bean>

Эти bean-компоненты используются для объявления других bean-компонентов с использованием XML:

<bean id="bean1" parent="parentBean1" class="MyClass">
    <property name="target" ref="bean2" />
</bean>

Можно ли объявить bean-компонент с идентификатором bean1 с помощью аннотаций?Я знаю, что это можно сделать, как в примере:

@Configration
public class MyConfiguration {

    @Autowired private Service1 service1;
    @Autowired private Service2 service2;
    ....

    @Bean
    public MyClass myClassBean() {
        MyClass myClassObj = new MyClass();
        myClassObj.setService1(service1);
        myClassObj.setService2(service2);
        ...
    }
}

Используя аннотации, мне нужно было бы автоматически подключить около 35 сервисов.Есть ли простой способ сделать это с помощью аннотаций?Можно ли установить родительский компонент, у которого нет класса?Или, может быть, единственный способ использовать XML?

Спасибо за объяснение.

...