注释类型 DependsOn
@Target({TYPE,METHOD}) @Retention(RUNTIME) @Documented public @interface DependsOn
Beans on which the current bean depends. Any beans specified are guaranteed to be created by the container before this bean. Used infrequently in cases where a bean does not explicitly depend on another through properties or constructor arguments, but rather depends on the side effects of another bean's initialization.A depends-on declaration can specify both an initialization-time dependency and, in the case of singleton beans only, a corresponding destruction-time dependency. Dependent beans that define a depends-on relationship with a given bean are destroyed first, prior to the given bean itself being destroyed. Thus, a depends-on declaration can also control shutdown order.
May be used on any class directly or indirectly annotated with
Component
or on methods annotated withBean
.Using
DependsOn
at the class level has no effect unless component-scanning is being used. If aDependsOn
-annotated class is declared via XML,DependsOn
annotation metadata is ignored, and<bean depends-on="..."/>
is respected instead.- 从以下版本开始:
- 3.0
- 作者:
- Juergen Hoeller