Я видел различные ссылки на values()
внутри @Qualifier
определений. Я понимаю, что @Qualifier
— это система тегов, но вы определяете их как интерфейс.
Интерфейс может разрешать перечисления, но я не понимаю слово values()
, которое я видел в двух несвязанных примерах, которые я перечислил ниже.
Не могли бы вы объяснить мне значение слова values()?
@Qualifier
@Retention(RUNTIME)
@Target({FIELD, TYPE, METHOD})
public @interface NumberOfDigits {
Digits value();
}
public enum Digits {
TWO,
EIGHT,
TEN,
THIRTEEN
}
package com.byteslounge.bean;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import javax.inject.Qualifier;
@Qualifier
@Retention(RUNTIME)
@Target({FIELD, TYPE, METHOD})
public @interface MessageTransport {
MessageTransportType value();
}