1.@DependsOn @Lazy
@DependsOn用于强制初始化其他Bean。可以修饰Bean类或方法,使用该Annotation时可以指定一个字符串数组作为参数,
每个数组元素对应于一个强制初始化的Bean。
@DependsOn({"steelAxe","abc"})
@Component
public class Chinese implements Person{
//codes here
}
@Lazy用于指定该Bean是否取消预初始化。主要用于修饰Spring Bean类,用于指定该Bean的预初始化行为,
使用该Annotation时可以指定一个boolean型的value属性,
该属性决定是否要预初始化该Bean。
@Lazy(true)
@Component
public class SteelAxe implements Person{
//codes here
}
若两个同时存在,则@Lazy失效,先加载steelAxe,后加载chinese
2.@Order
注解@Order或者接口Ordered的作用是定义Spring IOC容器中Bean的执行顺序的优先级,而不是定义Bean的加载顺序,Bean的加载顺序不受@Order或Ordered接口的影响