SpringBoot初学关于源码的几个问题

1.为什么在pom.xml中不需要指定依赖的版本号?

Spring Boot项目的统一版本父项目依赖管理。

当要使用工具包时,会根据springboot父工程的版本号来指定工具包中各个依赖的版本,进行组装后形成工具包。

例如web相关的启动包,点击

发现这个包的父依赖是spring-boot-starters包,继续点击

spring-boot-starters的父依赖是spring-boot-parent继续点击

spring-boot-parent依赖spring-boot-dependencies继续点击

发现spring-boot-dependencies做了统一的版本控制

2.为什么运行启动类,tomcat,dispatherServlet,filter就被加载了?

@SpringBootApplication组合注解下有自动装配注解:@EnableAutoConfiguration

点进去@EnableAutoConfiguration

 @Import 收集并注册特定场景相关的Bean ,并加载到 IOC 容器。@EnableAutoConfiguration这个注解就是借助@Import来收集所有符合自动配置条件的bean定义,并加载到IoC容器。

我们可以直接查看一下,发现导的包中--spring--boot包下内嵌了过滤器、tomcat、servlet等我们用spring写程序时需要自己配置的东西。

3.为什么在同包下,controller类没有扫描器扫描也能运行?(没有配置文件、没有配置类)

启动类的注解@SpringBootApplication是一个组合的注解

@SpringBootConfiguration下面声明了这是个配置类,点进去有@Configuration注解。
@ComponentScan类似扫描器,默认扫描本包,也可指定扫描路径。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值