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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Spring Boot文档阅读笔记-Spring Boot @Bean解析
下一篇:Spring Boot文档阅读比较-@SpringBootApplication Auto Configuration

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月04日 21时27分04秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章