spring boot bean對象及注解


1.1)類的位置(必須放在啟動類所在包以及子包)
1.2)類的描述(使用@Component注解)
2 )需要此對象的地方可從spring的bean池中獲取
思考:
1)如何判定一個對象在何時創建? (日志,斷點)
2)Spring容器中的Bean對象默認在啟動時創建,但長時間又不使用這個對象,
你覺得先把對象創建出來好嗎?(不好,占內存資源,由其是一些大對象)
3)Spring容器中的Bean對象假如不希望在容器啟動時進行創建,該如何設計呢?(延遲加載)
@Bean:描述的方法會將返回值放入bean池,描述的類直接回放到bean池
@Bean注解通常會應用在一些配置類(由@Configuration注解描述)中,用於描述
具備返回值的方法,然后系統底層會通過反射調用其方法,獲取對象基於作用域將對象
進行存儲或應用。I
@Bean應用場景:第三方資源的整合及配置

@Lazy(value=true or false):描述類,延遲加載,(不希望啟動時創建對象),value不寫時默認為true,
true表示此對象要延遲構建及初始化,false為實時加載(和沒有寫這個注解是一樣的效果)
@Component:描述類
@Scope:描述類時用於指定類實例的作用域,常用取值:
1)singleton (默認為單例作用域-類的實例在- - 個JVM內存中其實例只有一份,通常配合Lazy使用,一般可重用對象使用).
2)prototype (多 例作用域-此作用域對象為何時需要何時創建,spring框架不負責銷毀,不可重用或只使用一次的對象)

@PostConstruct此注解描述的方法為生命周期初始化方法
在這樣的方法中一般會為創建好的對象再此進行一些初始化.

@PreDestroy 此注解描述的方法為生命周期銷毀方法,此方法會在對象銷毀之前執行.
在這樣的方法中可以實現一些,資源銷毀操作 ,destray()


免責聲明!

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



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