Spring注解之@Lazy注解


@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
}

參考:

  1. https://www.cnblogs.com/ClassNotFoundException/p/6928205.html
  2. https://zhidao.baidu.com/question/359557916.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM