springboot开发日记(2)——springboot依赖管理
springboot依赖管理:
springboot通过父项目进行依赖管理,父项目会自动导入版本匹配的依赖(称为自动版本仲裁机制),因此在声明依赖的时候可以不需要<version>标签。
但是如果对自动仲裁的版本不满意需要进行手动更换,可以在pom配置文件中加入以下标签进行版本修改:
<properties>
<xxx.version>所需版本号</xxx.version>
</properties>
spring-boot-starter-*会自动配置大部分该场景下所需要的依赖,例如spring-boot-starter-web会自动配置dispatcherservlet等等依赖,不需要像mvc那样在配置文件中手动导入大量依赖,更不需要配置自动包扫描。
注意:包扫描只在主程序及其子包下才会进行,如果controller在主程序的父目录则会找不到依赖。但是可以通过SpringBootApplication的scanPackages属性或者ComponentScan注解进行强制修改,指定扫描路径。
用法:
@SpringBootApplication(scanPackages="文件相对路径")
@SpringBootApplication由以下三个注解组合而成:
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(上文提到的改变包扫描路径可以在这里修改,但是如果已经使用@SpringBootApplication注解则不能重复使用该注解)
springboot各种配置都拥有默认值,最终都会绑定到某个类上,这个类会在容器中创建对象。
springboot的配置都是按需加载的,自动配置功能由spring-boot-autoconfigure包实现。自动配置文件在相应依赖没有被导入时是不生效的,只有在application.porperties中引入对应依赖,这些依赖的自动门配置文件才会生效。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南