国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring容器擴展機制的實現原理

Spring容器擴展機制的實現原理

2021-06-18 13:57sc_ik Java教程

這篇文章主要介紹了Spring容器擴展機制的實現原理,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

ioc 容器負責管理容器中所有 bean 的生命周期, 而在 bean 生命周期的不同階段, spring 提供了不同的擴展點來改變 bean 的命運. 在容器的啟動階段, beanfactorypostprocessor 允許我們在容器實例化相應對象之前, 對注冊到容器的 beandefinition 所保存的信息做一些額外的操作, 比如修改 bean 定義的某些屬性或者增加其他信息等.

beanpostprocessor 接口

如果希望在spring容器完成實例化、配置和初始化bean之后實現某些自定義邏輯, 則可以實現一個或多個 beanpostprocessor 接口.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public interface beanpostprocessor {
 
  @nullable
  default object postprocessbeforeinitialization(object bean, string beanname) throws beansexception {
    return bean;
  }
 
  @nullable
  default object postprocessafterinitialization(object bean, string beanname) throws beansexception {
    return bean;
  }
 
}

在 bean 實例化之后會先執行 postprocessbeforeinitialization 方法, 再執行 bean 的初始化方法, 然后在執行 postprocessafterinitialization 方法.

ordered 接口 @order 注解

此接口只有一個方法 int getorder(); 用來設置執行順序.

如果實現多個 beanpostprocessor 接口, 我們就可以實現 ordered 接口來設置執行順序.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@component
public class test implements beanpostprocessor, ordered {
 
  @override
  public object postprocessbeforeinitialization(object bean, string beanname) throws beansexception {
    return bean;
  }
 
  @override
  public object postprocessafterinitialization(object bean, string beanname) throws beansexception {
    return bean;
  }
 
  @override
  public int getorder() {
    return 1;
  }
}

也可以使用 @order 注解進行排序

?
1
2
3
4
5
6
7
8
9
10
@configuration
@order(2)
public class demo1config {
  @bean
  public demo1service demo1service(){
    system.out.println("demo1config 加載了");
    return new demo1service();
  }
 
}

beanfactorypostprocessor 接口

在容器實例化相應對象之前, 對注冊到容器的 beandefinition 所保存的信息做一些額外的操作可以實現此接口.

區別

  • beanfactorypostprocessor 會處理一些元數據.
  • beanpostprocessor 會處理實例化后的對象.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://segmentfault.com/a/1190000017197635

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲一区在线日韩在线深爱 | 精品国产一区二区三区免费 | 黄色国产| 欧美极品一区二区 | jizzz日本 | 欧洲视频一区 | 精品2区| 日韩成人av电影在线观看 | 久久亚洲一区 | 一级黄色大片 | 日韩专区中文字幕 | 日韩在线播放一区二区三区 | 中文字幕日韩视频 | 人人爽视频 | 欧美精品一二三区 | www麻豆| 国产一区二区三区四 | 精品色| 亚洲福利电影网 | 特黄特色大片免费视频观看 | 成人精品在线视频 | 91cn在线观看| 成人福利免费在线观看 | 欧美视频二区 | 欧美专区在线观看 | 日韩在线播放一区二区三区 | 久久综合久久久 | 久久久久久亚洲精品 | 日韩欧美国产一区二区 | 亚洲国产精品一区二区久久 | 一区二区三区国产 | 国产淫片在线观看 | 九一精品| 亚洲激情精品 | 在线观看亚洲 | 国产亚洲一区二区三区 | 久久国产视屏 | 国产激情偷乱视频一区二区三区 | 99免费精品视频 | 精品久 | 综合久久久 |