您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(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ò),可以把它分享出去讓更多的人看到。
免責(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)容。