當然也可以通過其他方式加入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這個介面主要就是針對在bean例項化前後做一些定製開發。一般只針對某個介面或者某個註解進行批量操作inte***ce beanpostprocessor
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...