我有很多关于如何实现/使用注解方法的问题。
我们如何利用限定符的方法?假设我有个习惯 @Qualifier
例如。 @Store
它表示一个appstore,有2个方法。如何使用传递给的值 DeviceType deviceType()
?
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Qualifier
public @interface Store {
String value();
DeviceType deviceType() default DeviceType.Phone;
public enum DeviceType{
Phone, Tablet;
}
}
你怎么知道的 @Qualifier
内部使用 String value()
为了匹配名字?是否被 String value()
创建自定义 @Qualifier
?
---更新信息如下---
我有一个包含appstore类型字段的服务,它有@autowired和@store注解。在获得ipadappstoreservice的bean之后,如何访问注解中的devicetype过程?
@Service
public class iPadAppStoreService {
....
@Autowired(required=false)
@Store(value = "appleAppStore",
deviceType = DeviceType.Tablet)
private AppStore applicationStore;
....
}
1条答案
按热度按时间0qx6xfy61#
我们如何利用限定符的方法?
你给他们打电话。
假设我有个习惯
@Qualifier
例如。@Store
它表示一个appstore,有2个方法。如何使用传递给的值DeviceType deviceType()
?哪里
clazz
是一个用@Store
.你怎么知道的
@Qualifier
内部使用String value()
为了匹配名字?如果
@Autowired
字段/方法/参数按类型查找多个候选项,并且还有一个@Qualifier
注解(或派生注解,如@Store
),它将查找已用注解注解的候选类型@Qualifier
有匹配的value
元素。是否被
String value()
创建自定义@Qualifier
?是的,那个
@Store
注解的处理方式与@Qualifier
注解,即其元素值将以相同的方式使用。任何额外的元素值都将被spring忽略,并且仅由您添加的代码使用。