ComponentScan和ComponentScans的区别

在Spring中@ComponentScan()被用来扫描某包下的注解,ComponentScans也是用来扫描注解的,但是它们之间的不同是:

  1. ComponentScan可以每次写一个或者多个包
    @ComponentScan往往是注解在@Configuration的类中,用于添加自动扫描的包。我们可以通过属性basePackages或者value指定一个或者多个要扫描的包。
    @ComponentScan("com.nn")
    @ComponentScan(value = {"com.nn.bean","com.nn.dao"})
  2. ComponentScans可以声明多个ComponentScan
    @ComponentScans是另外一个扫描包的注解,有一个数组形势的属性value,而数组的类型就是@ComponentScan,也就是一个@ComponentScans中可以配置多个@ComponentScan
    @ComponentScans(value={@ComponentScan("com.nn.bean"),@ComponentScan("com.nn.service")})

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
@ComponentScan、@ComponentScans和@ServletComponentScan是Spring框架中用于扫描注解的三个注解,它们之间有以下区别: 1. @ComponentScan: @ComponentScan注解用于在@Configuration类中添加自动扫描的包。它可以通过属性basePackages或value指定一个或多个要扫描的包。可以使用以下几种写法: - @ComponentScan("com.example"):扫描com.example包及其子包下的所有注解。 - @ComponentScan(basePackages = {"com.example.package1", "com.example.package2"}):扫描com.example.package1和com.example.package2包及其子包下的所有注解。 2. @ComponentScans: @ComponentScans注解是@ComponentScan注解的扩展,可以声明多个@ComponentScan注解。它的value属性是一个@ComponentScan类型的数组,可以配置多个@ComponentScan注解。例如: ```java @ComponentScans(value = { @ComponentScan("com.example.package1"), @ComponentScan("com.example.package2") }) ``` 这样就可以同时扫描com.example.package1和com.example.package2包及其子包下的所有注解。 3. @ServletComponentScan: @ServletComponentScan注解用于启用Servlet组件的自动扫描。它会自动扫描带有@WebServlet、@WebFilter和@WebListener注解的类,并将它们注册为Servlet组件。使用@ServletComponentScan注解后,无需再在web.xml中配置Servlet组件。例如: ```java @ServletComponentScan("com.example") ``` 这样就会自动扫描com.example包及其子包下的带有@WebServlet、@WebFilter和@WebListener注解的类,并将它们注册为Servlet组件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值