springboot入门、解析关键字

入门例子构建

1.目录

2.BookController类

2.1 @RestController

这个注解告诉 Spring 这是一个 RESTful 控制器,所有方法返回的值会自动转换为 HTTP 响应体的内容,而不是视图。它是 @Controller 和 @ResponseBody 的组合注解,简化了开发。

2.2**@RequestMapping("/books")**

@RequestMapping 用于映射 HTTP 请求到对应的处理方法。在这里,它指定了类中的所有方法都将与 /books 相关的请求路径相匹配。即,如果用户请求的是 /books 路径,那么 BookController 中的方法将处理这个请求。

2.3 @GetMapping

这是一个快捷方式,等价于 @RequestMapping(method = RequestMethod.GET),用于处理 GET 请求。这里表明,当用户向 /books 发起 GET 请求时,getById() 方法会被调用。

2.4 方法内容

return "spb":该方法返回一个字符串 "spb",Spring 会自动将其转换为 HTTP 响应的内容 System.out.println("spb在运行")是一个调试输出,用于确认该方法是否被调用。当 GET 请求到达时,会在控制台输出这句话。

3.写完了BookController类后不需要再连接或者配置什么,直接运行创建项目后就自带的main方法Application(注意要和controller在一个目录下)

4.在浏览器输入对应的链接,得到界面

基础小结

解析依赖关键字

maven坐标

Maven 坐标用于唯一标识一个依赖项(artifact)。每个 Maven 依赖都有一个坐标,通常由四个元素组成:

Group ID (groupId): 该依赖所属的组织或项目的唯一标识符。一般来说,它遵循 Java 包的命名规范,通常是反向域名,例如:org.springframework

Artifact ID (artifactId): 依赖的模块的名称。例如,Spring 的核心库是 spring-core,JUnit 的核心库是 junit。

Version (version): 依赖的版本号,表示你想使用哪个版本的该库。例如:5.3.8、4.12 等。Packaging (packaging): 可选项,表示构建输出的类型。常见的值包括 jar、war、pom、ear 等。默认值是 jar,如果没有明确指定,Maven 会假设它是一个 JAR 文件。

案例解析

parent-定义版本号,减少依赖管理

spb将坐标版本和属性分开管理并直接使用组合包

怎么做到的?

pom中又parent,而parent又继承了(不同的版本也有不同的情况,也有直接导入的)dependcies,而dependcies又定义了几百个版本信息和坐标引用避免冲突

所以在spb框架下pom配置文件,基本不用写版本号,parent中已经配置好了

starter-减少依赖的配置

点进去starter后的代码,有很多依赖,全都是starter帮我们导入,如果没有starter,程序是运行不起来的

pom导入starter,starter又依赖了一些dependcies,由于依赖传递的特性,所以pom相当于也依赖了starter所依赖的

小结

引导类-程序入口

用来加载Bean

小结

辅助功能

这里是将tomcat放在依赖里了,将tomcat视作一个对象然后让spring去管理,如果不想用tomcat想用别的软件,可以直接进行替换,没有麻烦的操作

这里<exclusion>是排除的意思

小结

相关推荐
少年的范儿10 小时前
IntelliJ IDEA 配置 JDK 21 与 Maven 教程(Windows):开发环境配置与验证
java·jdk·maven·intellij idea
peach2 天前
同样是装依赖,为什么 npm 长成 node_modules,Maven 长成 .m2
npm·node.js·maven
屈冠成2 天前
ShopXO商城系统测试报告
开发语言·spring·maven·lua
jianxuan4 天前
Spring Boot + Maven 接入 Allatori:从普通打包到可选混淆发布
spring boot·python·maven
伞伞悦读5 天前
Maven 下载与配置教程(新手友好版)
maven
2301_32241428046 天前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
何中应6 天前
MySQL 连接驱动单独下载的两种方式
数据库·mysql·maven
开开心心就好7 天前
发票信息录入太麻烦?离线工具一键转表格
运维·服务器·前端·pdf·ocr·maven·intellij-idea
慧都小项8 天前
图解 MyEclipse Deployment Assembly:资源如何进入部署产物?
java·ide·tomcat·maven·myeclipse·部署排查
VX_bysjlw98510 天前
基于协同过滤的美食推荐系统的设计与实现32221-计算机毕设原创(免费领源码+带部署教程)
java·spring boot·redis·mysql·tomcat·maven·mybatis