1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        詳解 | Spring Boot 最核心的 3 個(gè)注解詳解

        共 3842字,需瀏覽 8分鐘

         ·

        2020-11-04 02:47


        Hi !我是小小,開始本周的第一篇,本周第一篇內(nèi)容是關(guān)于Spring Boot 最核心的三個(gè)注解,將會對這三個(gè)注解進(jìn)行詳細(xì)解釋。

        前言

        Spring Boot 最大的特點(diǎn)是無需 XML 配置文件,能夠?qū)崿F(xiàn)自動裝配,并進(jìn)行全自動化的jar包配置。Spring Boot 是微服務(wù)的核心,其Spring Cloud 是基于Spring Boot 為基礎(chǔ)的。其框架是用來簡化Spring應(yīng)用的初始搭建和開發(fā)過程,即,簡化了框架,便捷了開發(fā)。下面開始介紹Spring Boot 最核心的三個(gè)注解

        Configuration

        在Spring4以后,官方推薦使用 Java Config 來代替 Application.xml 聲明將Bean交給容器管理。在Spring Boot 中,Java Config 使用完全代替了application.xml 實(shí)現(xiàn)了xml的零配置, 開下面這個(gè)例子

        實(shí)例

        創(chuàng)建一個(gè)bean類

        public class SomeBean {
        public void doWork() {
        System.out.println("do work...");
        }
        }

        其中,dowork是邏輯方法 再創(chuàng)建一個(gè)Config類

        @Configuration
        public class Config {
        @Bean
        public SomeBean someBean() {
        return new SomeBean();
        }
        }

        在這里,在Config類上添加了一個(gè)@configuration注解,可以理解為Spring中的配置類,其返回值為someBean,someBean方法上也添加了一個(gè)@bean注解,其返回對象也將會交由Spring容器進(jìn)行管理。

        簡單測試

        public class Test {
        public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
        SomeBean sb = context.getBean(SomeBean.class);
        sb.doWork();
        }
        }

        這里,創(chuàng)建了一個(gè)AnnotationConfigApplicationContext對象,傳入了Config.class 后,得到了someBean對象。

        do work...

        擴(kuò)展

        一般的,一個(gè)完整的bean需要包括,id,class,initMethod,destroyMethod,·ref,scope。所以這里使用 Java Config 進(jìn)行相關(guān)的配置這些屬性。修改第一個(gè)例子代碼

        public class SomeBean {

        private void init() {
        System.out.println("init...");
        }

        public void doWork() {
        System.out.println("do work...");
        }

        private void destroy() {
        System.out.println("destroy...");
        }

        }

        增加,init,destroy方法

        @Configuration
        public class Config {

        @Bean(initMethod = "init",destroyMethod = "destroy")
        public SomeBean someBean() {
        return new SomeBean();
        }
        }

        在bean注解上,屬性指向?qū)?yīng)的方法。

        public class Test {
        public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
        SomeBean sb1 = context.getBean(SomeBean.class);
        System.out.println(sb1);

        SomeBean sb2 = context.getBean(SomeBean.class);
        System.out.println(sb2);
        context.close();
        }
        }

        輸出結(jié)果為

        init...
        com.spring.SomeBean@16022d9d
        com.spring.SomeBean@16022d9d
        destroy...

        這樣就完成了一個(gè)配置的生命周期。

        @ComponentScan

        @ComponentScan注解,用于類或接口上主要指定的掃描路徑,Spring會把指定路徑下帶有指定注解的類自動裝配到bean容器里,會被自動裝配的注解包括@Controller,@Service,@Component,@Repository等。其作用相當(dāng)于,


        配置。

        基本使用

        常用的屬性如下 basePackages,value,指定掃描路徑,如果為空,則以@ComponentScan注解的類所在的包掃描路徑。basePackageClasses:指定具體掃描的類 includeFilters:指定滿足Filter條件的類 excludeFilters:指定排除Filter條件的類 includeFilters和excludeFilters 的FilterType可選:ANNOTATION=注解類型 默認(rèn)、ASSIGNABLE_TYPE(指定固定類)、ASPECTJ(ASPECTJ類型)、REGEX(正則表達(dá)式)、CUSTOM(自定義類型),自定義的Filter需要實(shí)現(xiàn)TypeFilter接口 @ComponentScan的常見的配置如下:

        	@ComponentScan(value="com.maple.learn",
        excludeFilters = {@ComponentScan.Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class)},
        includeFilters = {@ComponentScan.Filter(type=FilterType.ANNOTATION,classes={Controller.class})}
        )
        public class SampleClass{
        ……
        }

        @EnableAutoConfiguration

        其注解是一個(gè)組合注解, 其源碼如下

        @Target(ElementType.TYPE)
        @Retention(RetentionPolicy.RUNTIME)
        @Documented
        @Inherited
        @AutoConfigurationPackage
        @Import(AutoConfigurationImportSelector.class)
        public @interface EnableAutoConfiguration {

        String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";

        Class[] exclude() default {};

        String[] excludeName() default {};

        }

        其中最重要的是@Import(AutoConfigurationImportSelector.class)注解,借助AutoConfigurationImportSelector,@EnableAutoConfiguration 幫助Spring Boot 應(yīng)用將所有符合條件的@Configuration 配置加載到IOC容器中,而最主要的還需要借助于 Spring 框架的一個(gè)工具類,SpringFactoriestLoader 將META-INF/spring.factories加載配置,spring.factories文件是一個(gè)典型的properties配置文件,配置格式為key=value形式,不過key和value都是完整的類名,例如

        org.springframework.data.repository.core.support.RepositoryFactorySupport=org.springframework.data.jpa.repository.support.JpaRepositoryFactory

        關(guān)于作者

        我是小小,今天的內(nèi)容結(jié)束了,歡迎下期再來。


        瀏覽 99
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            尤物av| 久久久人妻熟妇精品无码蜜桃| 黄色大片免费在线观看| 日本一区二区视频| www.第四色| 樱桃码一区二区三区| 一级黄色蜜芽视频| 特级大毛片| 玖玖爱综合| 亚洲欧洲日韩综合| 中文字幕2025年最好看电视剧 | 日韩av第一页| 日本女人牲交视频| 九九精品久久| 激情视频网址| 中文字幕东京热加勒比| 思思热在线视频播放| 精品免费在线| 四个熟妇搡BBBB搡BBBB| 大香蕉尹在线| 亚洲无码三级| 国产免费操逼| 欧美18成人| 美女天天干| 91免费视频观看| av无码在线观看| 狠狠操一区| 精品久热| 亚洲人天堂| 男人的天堂社区| 豆花视频logo进入官网| 国内特级毛片| 五月亚洲六月婷婷| 免费人成在线观看视频播放| 特黄特色大片BBBB| 91在线无码精品秘蜜桃入口| 中文字幕一区二区三区四区| 日韩做爱| 亚洲另类图片小说| 色哟哟无码| 亚洲vs无码秘蜜桃少妇| 好吊AV| 国产xxxx视频| 久久三| 欧美视频一区二区三区四区| 久久草草热国产精| 麻豆传媒在线| 国产一级a毛一级a做免费图片 | 国产青草视频在线观看| 在线免费观看黄色视频网站| 日本特级黄A片免费观看| 中文字幕av在线播放| 国产欧美精品AAAAAA片| 久久中文字幕视频| 国产乱视频| 婷婷手机在线| 中文字幕免费在线观看视频| 51av在线| 草久美女| 97人人爽人人爽人人爽人人爽| 国产精品久久久精品cos| 日日爽夜夜爽| 青青草视频免费在线观看| 粗长哭叫打桩H体育生| 亚洲视频综合| 91天天综合在线| 99久re热视频精品98| 国产黄色在线免费观看| 女孩自慰在线观看| 亚洲三级av| 久草婷婷| 成人二区三区| 豆花视频在线免费观看| 国产AV日韩AV| 91久久婷婷国产麻豆精品电影.co| 黑种人配中国少妇HD| 99re免费视频| 日韩无码毛片| 日韩超清无码| 精品一区二区三区免费毛片| 婷婷色色五月天图片| 最近日本中文字幕中文翻译歌词| 高清无码一区二区三区四区| 国产喷潮| 久热在线精品视频| 亚洲无码视频观看| 中文字幕乱码在线| 蜜桃av秘无码一区二区三欧| 日本乱伦电影中文字幕| 国产ts在线观看| 一本道高清无码视频| 五月天激情啪啪| 国产视频福利在线| 国产性交网站| 一区二区三区精品无码| 91乱子伦国产乱子伦| 爆操无码| 99热最新在线| 91国产福利| 麻豆精品一区| 日韩欧美一区二区三区不卡 | 亚洲在线无码播放| 亚洲欧洲成人| 伊人久久大综合中文无码| 一本到在线视频| 国产精品自拍视频| 丰满熟妇人妻无码视频| 国产精品九九| 无码一区二区区| 黄网在线免费观看| 人人操人人网站| 精品综合网| 无码专区av| 韩日无码视频| 伊人久久大香线蕉| 日韩精品91| 91AV免费看| 在线观看视频黄| 国产成人精品毛片| 欧美自拍视频在线| 影音先锋成人电影| 国产草莓视频| 国产无码专区| www.亚洲视频| 娇小,学生,高潮,videos| 亚洲一区二区成人| 国产精品一二三| 日比视频网站| 99热在线播放| 天天cao| 性欧美成人播放77777| 蜜桃久久久亚洲精品| 中文字幕视频在线免费观看| 欧美18禁网站| 操操操AV| 中文字幕第6页| 亚洲午夜久久| 久久亚洲天堂| 亚洲大胆视频| 日本高清无码| 懂色AV一区二区三区国产中文在线 | 日韩精品人妻无码| 丁香五月婷婷综合网| 日本不卡视频在线| 不卡无码中文字幕| 午夜成人精品视频| 成人在线中文| 色悠悠久久| 再深点好爽灬轻点久久国产| 成人在线伊人| av天堂中文字幕| 天天日天天日天天操| 亚洲精品黄色| 51AV在线| 无码国产传媒精品一区| 91含羞草www·Com| 久久免费视频网站| 97人人操| 亚洲在线大香蕉| 久久福利网| 中文字幕国产视频| 黄色电影网页| 热久久亚洲中文字幕| 欧美精品日韩在线观看| AV777777| 久久ww| 激情五月婷婷五月| 久久黄色成人视频| 高清无码在线观看18| 国产一级婬乱片免费| 天天操天天干天天日| 麻豆md0049免费| 人人av在线| 欧美日韩黄| 成人高清无码在线观看| 精品一区二| 国产毛片视频| 一区二区三区四区精品视频| 天天搞搞| 高潮视频在线观看| 可以免费看AV的网站| 强奸五月天| 午夜操| 亚洲欧洲成人| 久久大香蕉91| 日本三级片免费观看| 好吊视频一区二区| 婷婷五月天丁香网| 亚洲成人a片| 国产做受91一片二片老头| 99久久婷婷| 婷婷色吧| 另类老妇奶性生BBwBB| 亚洲第一免费视频| 77777精品成人免费A片| 极品少妇视频| 91中文字幕在线| 激情亚洲婷婷| 久久久黄色电影| 欧美性BBwBBwBBwHD| 夜夜操免费视频| 国产一区二区三区在线观看免费视频免费视频免费视频 | 麻豆91精品人妻成人无码| 91久久精品无码一区| 91三级片在线播放| 99精品在线| 成人区精品一区二区婷婷| AV黄页| 欧美第一视频| 全部免费黄色视频| 久久水蜜桃| 日韩精品人妻中文字幕第4区| 熟女高潮| 中文无码Av| 国产在线激情| 韩国无码一区二区三区| 国产一级a毛一级a毛视频在线网站) | 日韩无码免费播放| 激情久久AV一区AV二区AV三区| 国产成人免费观看视频| 偷偷操穴| 69视频网| 中文最新天堂8√| 欧美老女人操逼视频| 又爽又黄免费网站97双女| 婷婷色777777| 欧美69视频| 午夜成人AV| 少妇人妻精品| 欧美精品不卡| 国产在线观看一区| 被男友内S~高H文| 日韩福利视频| 日韩无码A片| 男女日逼网站| 北条麻妃AV在线播放| 久久无码人妻精品一区二区三区 | 久操免费视频| 国产激情精品| 2019天天干| 精品黄色片| 特级西西444WWW高清| 国产成人69| 午夜日屄| 日本女人高潮视频| 亚洲天堂无码a| 精品无码一区二区三| 日韩免费在线观看视频| 91人妻人人澡人人澡人人精品 | 国产成人免费在线| 最近2019中文字幕mv第三季歌词 | 2018中文字幕第一页| 高清无码操逼视频| C逼| 欧美视频免费操逼图。| 成人精品无码| 91站街农村熟女露脸| 久草福利在线视频| 91免费成人| 波多野结衣无码一区二区| 欧美精品性爱视频| 国产免费www| 国产三级片91| 91色图| 久草网在线观看| 日本性爱网址| 69视频在线观看免费| 99热热热| 黑人干亚洲| 欧美性猛交一区二区三区| 青春草在线观看| 黄色片在线看| 成人欧美一区二区三区黑人免费 | 日韩99在线| 精品久久大香蕉| 日韩欧美高清在线| 午夜亚洲AⅤ无码高潮片苍井空| 性爱AV网| 91麻豆成人精品国产| 综合av| 麻豆传媒一区| www.无码视频| 五月天深爱激情网| 干妞网免费视频| 色婷婷Av一区| 国产亚洲欧美日韩高清| 色婷婷在线视频播放| 国产人人爽| 日韩在线视频二区| 五月丁香成人电影| 亚洲成人无码高清| 免费在线观看黄色网址| 久操麻豆| 欧美熟妇高潮流白浆| 淫香淫色天天影视| 五月大香蕉| 精品中文字幕在线| 思思热思思操| 麻豆AV无码| 日本欧美黄色|