@Target(value={TYPE,METHOD}) @Retention(value=RUNTIME) @Documented public @interface ConditionalOnSingleCandidate
Conditional
that only matches when the specified bean class is already
contained in the BeanFactory
and a single candidate can be determined.
The condition will also match if multiple matching bean instances are already contained
in the BeanFactory
but a primary candidate has been defined; essentially, the
condition match if auto-wiring a bean with the defined type will succeed.
The condition can only match the bean definitions that have been processed by the application context so far and, as such, it is strongly recommended to use this condition on auto-configuration classes only. If a candidate bean may be created by another auto-configuration, make sure that the one using this condition runs after.
Modifier and Type | Optional Element and Description |
---|---|
SearchStrategy |
search
Strategy to decide if the application context hierarchy (parent contexts) should be
considered.
|
String |
type
The class type name of bean that should be checked.
|
Class<?> |
value
The class type of bean that should be checked.
|
public abstract Class<?> value
ApplicationContext
and a primary candidate
exists in case of multiple instances.
This attribute may not be used in conjunction with type()
, but it may be used instead of type()
.
public abstract String type
ApplicationContext
and a primary
candidate exists in case of multiple instances.
This attribute may not be used in conjunction with
value()
, but it may be used instead of value()
.
public abstract SearchStrategy search
Copyright © 2016 Pivotal Software, Inc.. All rights reserved.