博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(26)改变自动扫描的包【从零开始学Spring Boot】
阅读量:6991 次
发布时间:2019-06-27

本文共 1241 字,大约阅读时间需要 4 分钟。

hot3.png

在开发中我们知道Spring Boot默认会扫描启动类同包以及子包下的注解,那么如何进行改变这种扫描包的方式呢,原理很简单就是:

@ComponentScan注解进行指定要扫描的包以及要扫描的类。

接下来我们简单写个例子进行测试下。

 

第一步:新建两个新包

      我们在项目中新建两个包cn.kfit ; org.kfit ;

 

第二步:新建两个测试类;

在这里为了方便测试,我们让我们的类在启动的时候就进行执行,所以我们就编写两个类,实现接口CommandLineRunner,这样在启动的时候我们就可以看到打印信息了。

cn.kfit.MyCommandLineRunner1  :

package cn.kfit;

 

import org.springframework.boot.CommandLineRunner;

 

@Configuration

publicclass MyCommandLineRunner1 implements CommandLineRunner {

 

    @Override

    publicvoid run(String... args) throws Exception {

       System.out.println("MyCommandLineRunner1.run()");

    }

}

 

org.kfit.MyCommandLineRunner2  :

package org.kfit;

 

import org.springframework.boot.CommandLineRunner;

 

@Configuration

publicclass MyCommandLineRunner2 implements CommandLineRunner {

 

    @Override

    publicvoid run(String... args) throws Exception {

       System.out.println("MyCommandLineRunner2.run()");

    }

}

 

第三步:启动类进行注解指定

在App.java类中加入如下注解:

//可以使用:basePackageClasses={},basePackages={}

@ComponentScan(basePackages={"cn.kfit","org.kfit"})

 

启动如果看到打印信息:

MyCommandLineRunner1.run()

MyCommandLineRunner2.run()

说明我们配置成功了。

这时候你会发现,在App.java同包下的都没有被扫描了,所以如果也希望App.java包下的也同时被扫描的话,那么在进行指定包扫描的时候一定要进行指定配置:

@ComponentScan(basePackages={"cn.kfit","org.kfit","com.kfit"})

转载于:https://my.oschina.net/u/3229047/blog/833217

你可能感兴趣的文章
《Arduino开发实战指南:LabVIEW卷》——2.2 Arduino程序结构及基本函数
查看>>
连马云都要打包带走的美食,你不来一份儿?
查看>>
乐视云升级品牌同步启动全球域名
查看>>
回归服务器市场,看来AMD的Naples还需回答更多问题
查看>>
《Web应用漏洞侦测与防御:揭秘鲜为人知的攻击手段和防御技术》——2.3 小结...
查看>>
Mirics联合展讯推出嵌入式CMMB PCTV解决方案
查看>>
干货丨5个问题鉴定大数据安全分析真伪!
查看>>
大话敏捷测试
查看>>
漫画赏析: Vi 还是不 Vi,这是个问题
查看>>
《编写高质量代码:改善c程序代码的125个建议》——建议17-2:避免“悬挂”的else...
查看>>
jemalloc 5.0.0 全新版本发布,内存分配管理
查看>>
《草根自媒体达人运营实战》一一第2章 自媒体人必备品质
查看>>
两年没人领,Android 漏洞最高悬赏从 5 万涨到 20 万
查看>>
《SolidWorks 2016中文版完全自学手册)》——2.4 尺寸标注
查看>>
HBase 事务支持 Omid
查看>>
《程序员的呐喊》一一1.3 作者手记:名词王国里的执行
查看>>
维护 VS Code 开源项目背后的那些事情
查看>>
亿级用户平台的大数据实践
查看>>
《IPv6精髓(第2版)》——3.5 全局路由前缀
查看>>
Parse SDK:里面到底有什么宝贝?
查看>>