Package org.springframework.context.annotation

# Annotation Interface 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 with `Bean`.

Using `DependsOn` at the class level has no effect unless component-scanning is being used. If a `DependsOn`-annotated class is declared via XML, `DependsOn` annotation metadata is ignored, and `<bean depends-on="..."/>` is respected instead.

Since:
  3.0
Author:
  Juergen Hoeller

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
Description
`String[]`
`value`

## Element Details

### value

String[] value

Default:
  {}