8.2.5 使用@DependsOn和@Lazy改变初始化行为
@DependsOn
用于强制初始化其他Bean
;@Lazy
用于指定该Bean
是否取消预初始化。
@DependsOn注解介绍
@DependsOn
可以修饰Bean
类或方法
,使用该注解时可以指定一个字符串数组
作为参数,每个数组元素对应于一个要强制初始化的Bean
的id
。如以下代码所示:
1 | "steelAxe", "abc"}) ({ |
上面的代码使用了@DependsOn
修饰Chinese
类,这就指定在初始化id
为chinese
这个Bean
之前,会强制初始化id
为steelAxe
、abc
的这两个Bean
.
@Lazy注解介绍
@Lazy
修饰Spring Bean
类用于指定该Bean
的预初始化行为,使用该注解时可指定一个boolean
型的value
属性,该属性决定是否要预初始化该Bean
。如果value
为true
则表示懒加载,也就是不会预初始化。
例如如下代码:
1 | true) ( |
上面的粗体字注解指定当Spring
容器初始化时,不会预初始化chinese
这个bean