public class ControllerAdviceBean extends java.lang.Object implements Ordered
The findAnnotatedBeans(ApplicationContext)
method can be used to
discover such beans. However, a ControllerAdviceBean
may be created
from any object, including ones without an @ControllerAdvice
.
Modifier and Type | Field and Description |
---|---|
private java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> |
annotations |
private java.util.List<java.lang.Class<?>> |
assignableTypes |
private java.util.Set<java.lang.String> |
basePackages |
private java.lang.Object |
bean |
private BeanFactory |
beanFactory |
private int |
order |
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Modifier | Constructor and Description |
---|---|
|
ControllerAdviceBean(java.lang.Object bean)
Create a
ControllerAdviceBean using the given bean instance. |
private |
ControllerAdviceBean(java.lang.Object bean,
BeanFactory beanFactory) |
|
ControllerAdviceBean(java.lang.String beanName,
BeanFactory beanFactory)
Create a
ControllerAdviceBean using the given bean name. |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
adaptBasePackage(java.lang.String basePackage) |
boolean |
equals(java.lang.Object other) |
static java.util.List<ControllerAdviceBean> |
findAnnotatedBeans(ApplicationContext applicationContext)
Find the names of beans annotated with
@ControllerAdvice in the given
ApplicationContext and wrap them as
ControllerAdviceBean instances. |
java.lang.Class<?> |
getBeanType()
Return the type of the contained bean.
|
int |
getOrder()
Returns the order value extracted from the
ControllerAdvice
annotation, or Ordered.LOWEST_PRECEDENCE otherwise. |
int |
hashCode() |
private boolean |
hasSelectors() |
private static java.util.Set<java.lang.String> |
initBasePackages(ControllerAdvice annotation) |
private static int |
initOrderFromBean(java.lang.Object bean) |
private static int |
initOrderFromBeanType(java.lang.Class<?> beanType) |
boolean |
isApplicableToBeanType(java.lang.Class<?> beanType)
Check whether the given bean type should be assisted by this
@ControllerAdvice instance. |
java.lang.Object |
resolveBean()
Return a bean instance if necessary resolving the bean name through the BeanFactory.
|
java.lang.String |
toString() |
private final java.lang.Object bean
private final BeanFactory beanFactory
private final int order
private final java.util.Set<java.lang.String> basePackages
private final java.util.List<java.lang.Class<?>> assignableTypes
private final java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> annotations
public ControllerAdviceBean(java.lang.Object bean)
ControllerAdviceBean
using the given bean instance.bean
- the bean instancepublic ControllerAdviceBean(java.lang.String beanName, BeanFactory beanFactory)
ControllerAdviceBean
using the given bean name.beanName
- the name of the beanbeanFactory
- a BeanFactory that can be used later to resolve the beanprivate ControllerAdviceBean(java.lang.Object bean, BeanFactory beanFactory)
public int getOrder()
ControllerAdvice
annotation, or Ordered.LOWEST_PRECEDENCE
otherwise.getOrder
in interface Ordered
Ordered.HIGHEST_PRECEDENCE
,
Ordered.LOWEST_PRECEDENCE
public java.lang.Class<?> getBeanType()
If the bean type is a CGLIB-generated class, the original user-defined class is returned.
public java.lang.Object resolveBean()
public boolean isApplicableToBeanType(java.lang.Class<?> beanType)
@ControllerAdvice
instance.beanType
- the type of the bean to checkControllerAdvice
private boolean hasSelectors()
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public static java.util.List<ControllerAdviceBean> findAnnotatedBeans(ApplicationContext applicationContext)
ControllerAdviceBean
instances.private static int initOrderFromBean(java.lang.Object bean)
private static int initOrderFromBeanType(java.lang.Class<?> beanType)
private static java.util.Set<java.lang.String> initBasePackages(ControllerAdvice annotation)
private static java.lang.String adaptBasePackage(java.lang.String basePackage)