談談Spring boot 啟動層面的開發

2021-09-23 06:29:38 字數 1237 閱讀 8990

當然也可以通過其他方式加入beanfactory中,詳情可以參照beanfactorypostprocessor加入到beanfactory的方法

這個就是spring的模板方法,主要有3個比較重要的介面

public

inte***ce

beanfactorypostprocessor

這個方法就是給可以對beanfactory進行一些自定義的操作,例如加入一些bean等。當然前提就是我們定義的bean是在beanfactory中。有許多辦法可以做到

public

class

mycontextinitializer

implements

public

void

initialize

}

例如通過@import(value=)

@configuration

public

class

annotationbeandefinitionregistrar

implements

importbeandefinitionregistrar

}private

void

addpostprocessor

(beandefinitionregistry registry, listbasepackages)

private listgetpackagestoscan

(annotationmetadata metadata)

}

這樣,就可以加入我們自定義的beanfactorypostprocessor,就可以在bean註冊的層面上進行開發

public

inte***ce beanpostprocessor

這個介面主要就是針對在bean例項化前後做一些定製開發。一般只針對某個介面或者某個註解進行批量操作

3. 如果你需要在beanfactory層面上開發,使用beanfactorypostprocessor(推薦)

4. 如果你需要在對某個bean的例項化層面上開發,使用beanpostprocessor(一般業務上的開發使用initializingbean或者init-method能夠滿足)

springboot 啟動原理

public static void main string args throws exception 作為深入原理的第一篇,我們先來看下spring boot應用是怎麼啟動的。public run string args return context catch throwableex 初始化 ...

springboot 啟動流程

this.resourceloader resourceloader assert.notnull primarysources,primarysources must not be null this.primarysources new linkedhashset arrays.aslist p...

Spring Boot啟動原理

如何啟動乙個springboot應用?public class test 原始碼1 initialize sources 原始碼2 initialize private void initialize object sources 判斷當前應用是否為web應用 this.webenvironment...