Spring 的生命周期

2021-01-18 深漂碼農wei

Spring 的生命周期:

粗捏可以分為三個階段,它是有bean的第一次加工,還有bean的第二次加工過程,首先bean的第一次加工,將你的對象實例化,在這實例化的前後,有一個BeanPostProcessor在做前置和後置處理,第二步就是它的依賴注入的過程,在這個過程之中,首先它會設置它的一個屬性值,然後它對bean實現的BeanAware相關接口,像BeanNameAware,或者DisposableBean這接口的話,就會給你的bean注入相應的aware的屬性,這裡有2步,這兩步前後也有BeanPostProcessor後處理操作,其實第二步之後,這bean已經接近一個完成期了。但它還有一個bean的二次加工,在這個二次加工前後,他也是有一個

你可以像ApplicationContext那樣,配置一個自定義的後置處理bean,然後它在工程中主要是調用,你在bean中寫的environment的一個方法,或者你的bean實現了一個InitializingBean,它會第二次回調你的afterPropertiesSet方法,對bean做進一步設置,bean的二次加工完成之後,你的bean就已經建立完成了,也就是說他會根據你的bean的scope,如果是一個單列的bean,默認是單例的,它就會走下去,如果是多實例,你的bean的scope是prototype,多實例的話,就會移交給你去管理它的後續的生命周期,單實例的話,生命周期還是由spring來管理的,當spring容器銷毀的時候,他會調用destory方法,若你實現的是一個Disposable Bean,實現的那個接口也會有你銷毀的邏輯,這是bean整個生命周期的過程。

相關焦點

  • Java經典面試題Spring是什麼 Spring框架入門詳解
    創建下面一個pojo看看spring都有哪些功能Sping有一個功能就是幫我們創建pojo對象實例,下面我麼需要在applicationContext.xml中將pojo配置為bean,註冊到spring
  • 「spring water」是指泉水,那「spring back」是指什麼呢?
    難道是「春天回來了」,不,這裡的spring不能做「春天」解釋,應該是動詞「回彈;跳回;恢復原狀」的意思。所以spring back意思是「恢復健康」。例句:It's not as easy to spring back from injury when you get older.等你變老,想從傷痛中恢復過來可就沒那麼容易了。
  • Java面試高頻考點:手寫Spring IOC實現機制
    這個「別人」在spring框架中指的就是IOC容器,它負責對象的生命周期和對象之間的關係。Spring IOC的概念以及原理在面試過程中屬於一個被問爛的問題,本篇文章不再過多贅述。我們重點研究一下如何自己實現一個最簡單的Spring IOC。目前注入Bean的方式有兩種,一種是通過編寫XML文件注入,另一種是通過註解注入。
  • Spring Boot Admin快速打造監控平臺
    Spring Boot Admin 開源地址:https://github.com/codecentric/spring-boot-adminSpring Boot Admin分為server和client,使用非常方便,server端可查看各個微服務的狀態,client端將微服務註冊到server端。
  • 如何計算用戶生命周期天數?
    一般會有以下三種方法:在這裡有個前提,所有消費次數=1的用戶,不計算在生命周期的取值內,也就是生命周期所計算的是用戶>=2的用戶的生命周期天數。次數=1,說明買了一次就流失了,和品牌僅有一次接觸點,生命周期=0,不做計算。這部分用戶,線上線下僅一次消費會員佔比70%。
  • 如何使用SpringCloud進行灰度發布
    將分一下四步:第一,設置網關權重路由設置Spring Cloud Gateway中提供了org.springframework.cloud.gateway.handler.predicate.WeightRoutePredicateFactory去實現根據分組設置權重進行路由,因此使用起來相對比較簡單,有興趣的可以debug閱讀源碼。
  • Notice to Adjust the Teaching Schedule for Spring Semester
    In order to reduce the related disruption to teaching, the following adjustment measures for spring semester of the 2019-2020 academic year have been approved by the University Council:1 Tsinghua
  • 簡述生命周期理論的主要內容。
    【正確答案】(1)生命周期假定的要點可以表述為:個人的現期消費取決於個人現期收入、預期收入、開始時的資產和個人年齡大小;個人儲蓄額的大小也取決於個人現期收入、預期收入、開始時的資產和個人年齡大小。(2)生命周期假定也把未來收入作為影響現期消費的因素。
  • Spring City是指泉城還是春城?
    生活日報濟南12月3日訊 (記者邱建國)「我是濟南人,咱濟南以泉水著稱,可『泉城』用英文應該怎麼說還真拿不準,我上學的時候學過英語,知道泉水是spring,按理說泉城似乎應該是Spring City,可spring還有春天的意思,Spring City好像更容易讓人想到春城昆明,遇到外國人想跟他們說明白還真費腦筋。」
  • 實用英語:廚房詞霸(Dialog for Spring Onions)
    vegetable chef: The spring onions.   commis cook : What shall I do first (2) ?   vegetable chef: Wash the spring onions.   commis cook : And then?
  • Spring Cloud 中 Zuul 網關到底有何牛逼之處?竟然這麼多人在用!
    -- spring cloud Eureka Client 啟動器 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><
  • Spring 的 Controller 是單例還是多例?怎麼保證並發的安全
    我們下面來簡單的驗證下:package com.riemann.springbootdemo.controller;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller
  • 魯博士論產品生命周期
    生物學上有這樣的分法,生物學上人的生命長度跟現在自然生命形成的長度是不一樣的,生物學中採用的是個體發育。個體發育從哪裡開始的?
  • Spring中這些能升華代碼的技巧,可能會讓你愛不釋手
    有些讀者私信我說希望後面多分享spring方面的文章,這樣能夠在實際工作中派上用場。正好我對spring源碼有過一定的研究,並結合我這幾年實際的工作經驗,把spring中我認為不錯的知識點總結一下,希望對您有所幫助。
  • 英語美文欣賞:Spring Thaw萬物的復甦
    Every April I am beset by the same concern--that spring might not occur this year."You'll wake up one morning and spring will just be here."   每年四月我總是被同一個念頭困擾著——今年的春天可能不會來了吧。四周的景色一片悽涼,小山、天空和森林灰濛濛的,就像畫家的名作畫成之前畫布上的底色一般。我情緒低沉,15年前我初次來到緬因州,一次四月裡下雪的時候我便是這樣。
  • Spring Is Coming! Stay Ahead of Hay Fever
    For many, spring is a time of joy and
  • 用基因大數據打造「生命周期表」
    原標題:用基因大數據打造「生命周期表」 華大基因副總裁、首席技術官方曉東所說的「計劃」,是華大基因近日發布的「生命周期表計劃」。 此前,華大基因CEO尹燁發布「2020計劃」及「生命周期表計劃」時表示,「生命周期表計劃」的開展,意義並不亞於「元素周期表」。
  • Spring Boot 2.4 第一個示例程序書寫代碼
    import org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.web.bind.annotation.
  • 簡論新聞規律的生命周期
    來源:《西部學刊》 摘要:作為主體性的人類活動規律、社會領域規律,新聞規律是有生命周期或生命長度的。新聞規律的周期性,實質揭示的是新聞規律的歷史性。新聞規律也像其他規律一樣,有自身的有效期,有自身適應的時空範圍。
  • SpringCloud微服務架構篇7:Config配置資源庫及加解密
    在加載Environment相應資源時參數變化成了以下變量:{application}:對應客戶端配置中的spring.application.name。{profile}:對應客戶端配置中的spring.profiles.action。