溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Spring中組合注解和元注解如何使用

發(fā)布時(shí)間:2021-07-12 10:05:23 來源:億速云 閱讀:172 作者:Leah 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)Spring中組合注解和元注解如何使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

一 點(diǎn)睛

從Spring 2開始,為了相應(yīng)JDK 1.5推出的注解功能,Spring開始加入注解來替代xml配置。Spring的注解主要用來配置和注入Bean,以及AOP相關(guān)配置。隨著注解的大量使用,尤其相同的多個(gè)注解用到各個(gè)類或方法中,會(huì)相當(dāng)繁瑣。出現(xiàn)了所謂的樣本代碼,這是Spring設(shè)計(jì)要消除的代碼。

元注解:可以注解到別的注解上去的注解。

組合注解:被注解的注解,組合注解具備其上的元注解的功能。

Spring的很多注解都可以作為元注解,而且Spring本身已經(jīng)有很多組合注解,如@Configuration就是一個(gè)組合了@Component的注解,表明被注解的類其實(shí)也是一個(gè)Bean。

@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interface Configuration {  String value() default "";}

二 實(shí)戰(zhàn)項(xiàng)目

自定義一個(gè)組合注解,它的元注解是@Configuration和@ConfigurationScan

三 實(shí)戰(zhàn)

1 自定義組合注解

package com.wisely.highlight_spring4.ch4.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Configuration //組合@Configuration元注解@ComponentScan //組合@ComponentScan元注解public @interface WiselyConfiguration {  String[] value() default {}; //覆蓋value參數(shù)}

2 編寫服務(wù)類

package com.wisely.highlight_spring4.ch4.annotation;import org.springframework.stereotype.Service;@Servicepublic class DemoService {   public void outputResult(){     System.out.println("從組合注解配置照樣獲得的bean");   }}

3 編寫配置類

package com.wisely.highlight_spring4.ch4.annotation;@WiselyConfiguration("com.wisely.highlight_spring4.ch4.annotation")public class DemoConfig {}

4 編寫主類

package com.wisely.highlight_spring4.ch4.annotation;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class Main {   public static void main(String[] args) {     AnnotationConfigApplicationContext context =        new AnnotationConfigApplicationContext(DemoConfig.class);     DemoService demoService = context.getBean(DemoService.class);     demoService.outputResult();     context.close();   }}

關(guān)于Spring中組合注解和元注解如何使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI