日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring的Xml和JavaConfig 擴展哪個好用

瀏覽:179日期:2023-07-14 08:28:21
引言

上一篇文章我們有怎么介紹到如何通過XML的形式來定義Spring的擴展《Spring面試高頻題如何:自定義XML schema 擴展》,好多人都在吐槽現在都什么年代了,xml還有人再用嗎?這玩意早就過時了吧,還有必要去掌握它嗎?Spring官網都把這種方式放在最后面了,可想而知它的重要性到底怎樣了?既然大家都吐槽了,那我們今天繼續來介紹下基于注解的Spring擴展。

JavaConfig 配置擴展

從Spring3.0開始Spring提供了JavaConfig的方式可以用來代替以前XML的這種方式,原來在XML配置里的都可以通過注解來一一替換實現。主要通過@Configuration,@Bean, @Import,和@DependsOn這幾個注解來搭配實現的。這種方式也是SpringBoot所使用的。

@Configuration

@Configuration只能標記在類上,表示該類為JavaConfig類,使其可以被Spring IOC容器掃描識別并創建Bean加入到容器中。@Configuration類就相當于以往的一個xml文件。下面我們看一個官網提供的例子:

@Configurationpublic class AppConfig { @Bean public MyService myService() {return new MyServiceImpl(); }

這個定義的JavaConfig就相當于原來如下XML的配置:

<beans> <bean /></beans>

@Bean

@Bean只能被標記在方法上,表示該方法返回一個Spring Bean,可以被IOC容器托管,相當于以前在xml文件中寫的元素。

name:指定一個或者多個bean的名字,當沒有設置name時,Spring容器會默認將@Bean方法名作為bean name,當設置了name后,就不會再使用方法名,同時設置多個name時,除第一個name外,其他的都會作為bean的別名。相當于xml配置中的name屬性。 initMethod:指定容器在初始化完bean后調用的方法。相當于xml配置中的init-method屬性。 destroyMethod:指定在容器在銷毀bean前調用的方法。相當于xml配置中的 destroy-method。 autowire:指定bean在自動裝配時依賴注入使用的策略,取值可以參考Enum類Autowire 的三個常量:Autowire.BY_NAME,Autowire.BY_TYPE,Autowire.NO。

@Import

XML配置中的標簽,基于JavaConfig提供了@Import來組合模塊化的配置類,使用方式如下所示:

@Configuration() @Import({ApplicationContextConfig.class}) public class ApplicationContextConfig {

上面就比較簡單的介紹了幾種通過JavaConfig注解來替換XML形式的注解,使用起來還是非常簡單的,如果你有對以前的XML配置文件都比較了解的話,使用JavaConfig就更加簡單方便了。

Dubbo的JavaConfig

上篇文章我們介紹了dubbo通過XML的方式自定義擴展,今天我們就接著看看dubbo是如何通過JavaConfig來替代XML形式的擴展的。我們看看dubbo的服務提供者是如何通過注解來實現的

@Configuration@EnableDubbo(scanBasePackages = 'org.apache.dubbo.samples.annotation.impl')@PropertySource('classpath:/spring/dubbo-provider.properties')static class ProviderConfiguration {}

@Configuration這個注解我們上面已經介紹過了,我們重點看下@EnableDubbo這個注解@EnableDubbo 其實又是@EnableDubboConfig @DubboComponentScan是通過這兩個組合注解來實現的,@EnableDubboConfig注解實現如下:

@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Inherited@Documented@Import(DubboConfigConfigurationRegistrar.class)public @interface EnableDubboConfig {

這個注解使用了@Import(DubboConfigConfigurationRegistrar.class) 所以Spring 在處理@EnableDubboConfig 注解 的時候就會去實例化DubboConfigConfigurationRegistrar并且調用它的registerBeanDefinitions方法,這個方法主要是對propties文件進行解析并根據不同的配置項生成對應類型的Bean對象。

總結 通過基于XML和基于Java的配置擴展,可以使用戶通過Spring使用我們研發的組件,提供很好的易用性。 雖然現在大多數都是采用JavaConfig這種方式了,但是還是有人會比較喜歡xml這種方式 xml可以讓配置集中化,所有的組件并不是分散的,因此使你對beans有一個很好的概覽,比如mybais配置文件、SpingMvc配置文件,都放在一起,如果你需要分割文件,Spring可以幫你實現。然后(Spring)會通過內部標簽進行重新組合或者外部上下文文件進行聚合。 xml和JavaConfig 當然也是可以混合使用的,至于使用哪種方式還是看個人的編程習慣,沒有哪種方式是絕對的好,各有千秋。 看完這兩篇關于不同方式Spring的 擴展我們是不是可以自己動手去實現一個了。

以上就是Spring的Xml和JavaConfig 擴展哪個好的詳細內容,更多關于Spring的Xml和JavaConfig 擴展的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91免费精品| 亚洲91视频| 一区二区三区国产在线| 色综合www| 国产suv精品一区| 亚洲精品在线观看91| 日韩综合在线| 国产欧美一区二区三区精品观看 | 日本成人手机在线| 一本一道久久a久久| 日韩欧美中文字幕一区二区三区 | 欧美日韩一二三四| 自由日本语亚洲人高潮| 水蜜桃久久夜色精品一区的特点| 亚洲一区二区三区高清不卡| 99国产精品久久久久久久成人热| 国产高清一区| 视频在线观看国产精品| 日本亚洲最大的色成网站www| 国产亚洲一区二区三区啪| 久久伊人亚洲| 欧美成人日韩| 国产日韩中文在线中文字幕| 高清一区二区| 国产农村妇女精品一二区| 91欧美极品| jizzjizz中国精品麻豆| 婷婷综合五月| 麻豆精品在线观看| 亚洲h色精品| 亚洲精品日本| 国产精品视频一区二区三区综合| 91看片一区| 国产午夜久久av| 悠悠资源网久久精品| 7m精品国产导航在线| 日韩在线综合| 欧美一区91| jiujiure精品视频播放| 国产精品一二| 亚洲在线网站| 久久夜夜操妹子| 欧美激情一区| 日韩手机在线| 日韩在线观看一区二区| 麻豆视频在线看| 亚洲精品乱码久久久久久蜜桃麻豆| 国语对白精品一区二区| 亚洲一级淫片| 黄色av一区| 亚洲婷婷在线| 88xx成人免费观看视频库| 久久精品日韩欧美| 国产视频网站一区二区三区| 久久成人国产| 欧美日韩日本国产亚洲在线| 日韩精品久久久久久久电影99爱| 国产精品白丝一区二区三区| 亚洲精品自拍| 综合五月婷婷| 国产高清一区二区| 久久久久久网| 中文字幕在线官网| 国产精品成人一区二区不卡| 国产精品2区| 韩国女主播一区二区三区| 日韩av在线播放网址| 久久激五月天综合精品| 国产精品观看| 成午夜精品一区二区三区软件| 97视频热人人精品免费| 成人日韩精品| 香蕉精品视频在线观看| 国产精品嫩草99av在线| 亚洲欧美日韩视频二区| 免费一区二区视频| 久久av一区| 国产欧美丝祙| 在线一区视频观看| 欧美日韩少妇| 97久久中文字幕| 水蜜桃久久夜色精品一区| 久久精品欧美一区| 亚洲色图综合| 国产精品激情电影| 久久亚洲国产| 日本不卡中文字幕| 六月婷婷综合| 免费在线观看不卡| 久久精品国产99国产| 香蕉精品久久| 男女精品网站| 欧美激情麻豆| 亚洲在线国产日韩欧美| 麻豆91在线播放| 中日韩男男gay无套| 精品一区视频| 丝袜美腿亚洲色图| 97国产成人高清在线观看| 亚洲人亚洲人色久| 国产v综合v| 久久av超碰| 免费看黄色91| 一本大道色婷婷在线| 日韩一区二区三区四区五区| 欧美成a人免费观看久久| 亚洲三区欧美一区国产二区| 正在播放日韩精品| 欧美天堂一区| av不卡在线看| 日韩精品一区二区三区免费观影 | 久久不见久久见国语| 丝袜国产日韩另类美女| 亚洲天堂一区二区| 欧美国产专区| 日韩精品高清不卡| 日韩精品免费一区二区在线观看| 青草综合视频| 亚洲精品第一| 男女男精品网站| 日韩精品一级二级 | 欧美影院三区| 99久久精品网站| 日韩国产一区| 91麻豆国产自产在线观看亚洲| 久久激五月天综合精品| 日韩精品一区二区三区免费视频| 亚洲一区二区免费看| 免费精品视频| 久久亚洲国产| 欧美亚洲国产精品久久| 日韩成人精品一区二区| 丁香婷婷久久| 日韩伦理福利| 免费在线小视频| 欧洲在线一区| 久久国产成人| 日本色综合中文字幕| 国产日本精品| 岛国精品一区| 久久中文字幕av| 国产精品嫩草99av在线| 亚洲精品美女91| 国产精品第一| 麻豆精品蜜桃视频网站| 久久电影tv| 久久午夜精品一区二区| 青草国产精品| 成人日韩av| 男女男精品网站| 久久av影院| 亚洲激情中文在线| 欧美亚洲专区| 播放一区二区| 亚洲丝袜美腿一区| 国产欧美自拍| 91精品一区国产高清在线gif| 久久午夜精品| 国产传媒av在线| 欧美日韩视频| 美女视频网站久久| 怡红院精品视频在线观看极品| 青青草国产精品亚洲专区无| 日本蜜桃在线观看视频| 三级久久三级久久久| 日韩精品永久网址| 国产欧美日韩在线观看视频| 久久国产亚洲| 国产精品chinese| 日韩在线一二三区| 日韩美女一区二区三区在线观看| 免费在线观看成人| 欧美日韩免费观看视频| 国产日韩欧美三级| 国产一区亚洲| 国产 日韩 欧美 综合 一区| 亚洲毛片在线免费| 亚洲午夜一级| 另类专区亚洲| 久久超级碰碰| 亚洲精品高潮| 99热精品在线| 国产国产精品| 蜜臀国产一区| 国产福利片在线观看| 久久成人高清| 国产福利一区二区三区在线播放| 性色一区二区| 美女日韩在线中文字幕| 综合日韩av| 日韩在线不卡| 日韩欧美精品| 美女av在线免费看| 国产精品久久久久久久免费观看 | 国产精品99一区二区三| 国产精品白丝一区二区三区| 亚洲免费毛片| 日韩av中文字幕一区二区三区| 蜜桃视频在线观看一区二区| 91精品蜜臀一区二区三区在线|