Spring系列之手寫自定義的 Enable 註解

2021-10-14 18:46:04 字數 1018 閱讀 3279

在我們日常開發普通的spring-framework專案過程中@enable用的不是很多,但在springboot開發過程,我們經常會遇到@enable開始的好多註解,比如@enablewebmvc、@enableeurekaserver、@enableasync、@enablescheduling等,今天我們就來分析下這些註解到底是如何工作的,並寫手自定的@enable註解。

以@enablewebmvc為例,先看其原始碼

@retention

(retentionpolicy.

runtime

)@target()

@documented

@import()

public @inte***ce

enablewebmvc

@configuration

public

class

delegatingwebmvcconfiguration

extends

webmvcconfigurationsupport

2、上mymvcselector和mymvc類**

public

class

mymvcselector

implements

importselector;}

}

public

class

mymvc

}

3、看啟動類和執行結果

從執行結果可知,由於我們在啟動類加@enablemymvc註解,會將mymvc類載入到spring容器中。

Spring系列之手寫註解與配置檔案的解析

在前面我們已經完成了ioc,di,aop的實現,基本的功能都已經完成了,我們的手寫框架也能勉強使用起來。為了讓我們的框架能夠使用起來比較簡單,這一節我們來實現註解和xml的配置。tips 本章的xml和註解的功能都是為實現bean的建立,其他如aop等功能可仿造實現。如果有同學測試過我們寫好的框架,...

spring自定義標籤

如何將自定義的配置標籤化是個比較通用的問題,spring已經很好的幫我們設計完成,只需要我們去實現。將繁瑣的配置通過xml配置,spring自動轉換成bean,整個過程比較合理。1.建立乙個需要擴充套件的元件 package com.bean public class user public voi...

Spring自定義事件

如果僅僅使用 spring 的內定事件,那顯然是遠遠不夠的,幸好,spring 為我們提供了中自定義發布事件的能力。下面通過例程 來展示如何發布並監聽自定義的事件。在工程中,我們定義乙個 animal 類,為受管 bean 它具有乙個 speak 方法,我們要做的就是監視該方法,當使用者呼叫該方法時...