Как обойти ограничение «первая буква в нижнем регистре» в аннотации @Qualifier в Spring?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как обойти ограничение «первая буква в нижнем регистре» в аннотации @Qualifier в Spring?

Сообщение Anonymous »

MRE:
Контроллер:

Код: Выделить всё

@RestController
public class DITestRestController {

private Language language;

@Autowired
public DITestRestController(@Qualifier("haskell") Language language) {
this.language = language;
}

@GetMapping("/lang")
public String getLanguage() {
return language.name();
}
}
C.java:

Код: Выделить всё

package com.testprojects.ditestproject;

import org.springframework.stereotype.Component;

@Component
public class C implements Language {

@Override
public String name() {
return "C";
}
}
Haskell.java

Код: Выделить всё

package com.testprojects.ditestproject;

import org.springframework.stereotype.Component;

@Component
public class Haskell implements Language {

@Override
public String name() {
return "Haskell";
}
}
haskell.java:

Код: Выделить всё

package com.testprojects.ditestproject;

import org.springframework.stereotype.Component;

@Component
public class haskell implements Language {

@Override
public String name() {
return "haskell";
}
}
ошибка:

Код: Выделить всё

Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'haskell' for bean class [com.testprojects.ditestproject.haskell] conflicts with existing, non-compatible bean definition of same name and class [com.testprojects.ditestproject.Haskell]
Я думаю, это связано с тем, что аннотация @Qualifier требует, чтобы первая буква компонента была строчной, чтобы ссылаться на фактический компонент (

Код: Выделить всё

@Qualifier("myClass")
относится к компоненту с именем MyClass). Есть ли способ обойти это ограничение?

Подробнее здесь: https://stackoverflow.com/questions/785 ... he-qualifi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»