@Lazy用於指定該Bean是否取消預初始化。主要用於修飾Spring Bean類,用於指定該Bean的預初始化行為,
使用該Annotation時可以指定一個boolean型的value屬性,該屬性決定是否要預初始化該Bean
- lazy代表延時加載,lazy=false,代表不延時,如果對象A中還有對象B的引用,會在A的xml映射文件中配置b的對象引用,多對一或一對多,不延時代表查詢出對象A的時候,會把B對象也查詢出來放到A對象的引用中,A對象中的B對象是有值的。
- lazy=true代表延時,查詢A對象時,不會把B對象也查詢出來,只會在用到A對象中B對象時才會去查詢,默認好像是false,你可以看看后台的sql語句的變化就明白了,一般需要優化效率的時候會用到
@Lazy(true) @Component public class Chinese implements Person{ //codes here }
@DependsOn用於強制初始化其他Bean。可以修飾Bean類或方法,使用該Annotation時可以指定一個字符串數組作為參數,每個數組元素對應於一個強制初始化的Bean
@DependsOn({"steelAxe","abc"}) @Component public class Chinese implements Person{ //codes here }
參考:
- https://www.cnblogs.com/ClassNotFoundException/p/6928205.html
- https://zhidao.baidu.com/question/359557916.html