У меня есть следующая конфигурация:
@Qualifier1
@Qualifier2
@Bean
public MyBean bean1(){...}
@Qualifier2
@Qualifier3
@Bean
public MyBean bean2(){...}
@Qualifier1
@Qualifier2
@Qualifier3
@Bean
public MyBean bean3(){...}
@Qualifier3
@Bean
public MyBean bean4(){...}
@Qualifier1
@Bean
public MyBean bean5(){...}
И это место инъекции:
@Qualifier2
@Qualifier3
@Autowired:
private List<MyBean> beans;
По умолчанию пружина использует логику AND
для каждого @Qualifier
Так что bean2
и bean3
будут введены.
Но я хочу иметь логику OR
для этого материала, поэтому я ожидаю, что бины bean1
bean2
bean3
и bean4
будут внедрены
Как мне этого добиться?
P.S.
@Qualifier
аннотация не повторяется, поэтому мне нужно создать метааннотацию для каждой аннотации:
@Retention(RetentionPolicy.RUNTIME)
@Qualifier
public @interface Qualifier1 {
}