Spring Boot笔记-@ComponentScan初步解析
发布日期:2021-06-30 10:46:56
浏览次数:2
分类:技术文章
本文共 1493 字,大约阅读时间需要 4 分钟。
@ComponentScan默认是扫描当前包下的所有类(包括子包)
如下:
@SpringBootConfiguration@EnableAutoConfiguration@ComponentScanpublic class DemoApplication { public static void main(String[] args) { ConfigurableApplicationContext ctx = SpringApplication.run(DemoApplication.class, args); String[] beanDefinitionNames = ctx.getBeanDefinitionNames(); for(String name : beanDefinitionNames){ System.out.println(name); } }}
这里有2个bean
打印如下:
将
将
@Componentpublic class MyComponent {}
改为:
public class MyComponent {}
就不会被自动装配。
下面将component包放到外面后如下图:
就装配不了了。
但可以在@ComponentScan添加参数
如下代码:
@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(basePackages = "cn.it1995")public class DemoApplication { public static void main(String[] args) { ConfigurableApplicationContext ctx = SpringApplication.run(DemoApplication.class, args); String[] beanDefinitionNames = ctx.getBeanDefinitionNames(); for(String name : beanDefinitionNames){ System.out.println(name); } }}
就可以了!
或者用这种方式
@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan@ComponentScan(basePackages = "cn.it1995.component")public class DemoApplication { public static void main(String[] args) { ConfigurableApplicationContext ctx = SpringApplication.run(DemoApplication.class, args); String[] beanDefinitionNames = ctx.getBeanDefinitionNames(); for(String name : beanDefinitionNames){ System.out.println(name); } }}
转载地址:https://it1995.blog.csdn.net/article/details/115326343 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月04日 21时27分04秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!