Spring Boot快速开发
主要特点
-
简化配置:通过自动配置和起步依赖简化项目配置过程
-
集成性强:提供大量特性和功能(Servlet容器:Tomcat、Jetty、Undertow;健康检查;指标监控等)、整合库和框架(Spring Data、Spring Security等)
-
微服务支持:通过Spring Cloud进行微服务架构的开发,集成服务发现、配置中心、负载均衡等
-
内嵌服务器:将应用程序打包成一个可执行的JAR文件,内置Servlet容器(无需部署到外部应用服务器)
-
生态丰富:各种扩展和插件
项目结构
-
Service层:具体实现业务逻辑,具体操作
-
Data Access层:直接访问数据库的代码(Mybatis)。
-
数据库是关系型,java是面向对象的,需要将关系型的数据库表结构转化成面向对象的对象
-
开始
初始化一个springboot应用
-
Spring Initializr
-
依赖:Spring Web、Spring Data JPA(对访问数据库的抽象)、MySQL Driver
idea中springboog文件结构
-
idea:包含配置文件,ide自动生成
-
.gitignore:指定的文件被git版本控制系统忽略
-
compiler.xml:编译器设置
-
encoding.xml:编码格式设置
-
jarTepositories.xml:项目依赖的Maven仓库地址
-
misc.xml:杂项配置(语言级别、模块设置等)
-
workspace.xml:工作区设置(打开的编译器标签、运行配置等)
-
-
.mvn:Maven包装器(Wrapper)的配置文件,未安装Maven时可以使用特定版本的Maven
-
maven-wrapper.properties:Maven包装器使用的Maven版本
-
-
src:项目的源代码目录,包含Java代码和资源文件
-
main:主要源代码和资源文件
-
java:源代码
-
com.smarthome.smarthonecontrol:项目的Java包
-
XXApplication:应用程序的主类,启动应用程序
-
-
-
-
resources:项目的资源文件(静态文件、模板文件、配置文件等)
-
static:静态资源文件(CSS、JavaScript、图片等)
-
templates:模板文件(Thymeleaf、freemarker模板)
-
application.properties:配置文件(配置应用程序的属性,如数据库连接、服务器端口等)
-
-
test:测试代码
-
java:测试源代码
-
-
-
.gitattributes:指定Git如何处理某些文件(文本文件的换行符)
-
HELP.md:Mrakdown文件,项目的帮助信息或使用说明
-
mvnw:Maven包装器的脚本文件,在Unix系统上运行
-
mvnw.cmd:在Windows系统上运行
-
pom.xml:Maven项目的核心配置文件(项目的依赖、插件、构建配置等)
-
外部库:项目依赖的所有外部库
-
临时文件和控制台:临时文件和控制台输出(调试、日志记录)
数据库
-
未创建数据库就想要运行时,需要在pom.xml文件中将相关依赖注释掉
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
-
在mysql里面创建数据库
项目基本结构
idea代码
-
创建一个dao包:数据访问层的包
-
JPA(Java Persistence API):一种标准化的方式来管理 Java 对象与数据库之间的映射关系
-
对每个数据库的表创建一个类User(Entity)和一个接口UserRepository
-
-
创建一个service包
-
UserService接口:实现方法、功能
-
UserServiceImpl类:实现UserService接口的方法,具体实现逻辑。(唯一性检查)
-
-
创建一个controller包
-
里面写各个方法、功能的路径
-
-
创建一个dto包:展示访问前端的对象。把数据库的对象转化为需要返回给前端的对象
-
添加验证注解
-
-
创建一个converter包:用于UserDTO和User实体之间进行转换
-
converter类中需要将 User 实体转换为 UserDTO、将 UserDTO 转换为 User 实体
-
对Impl类进行修改(返回的对象变成DTO)
-
对controller类进行修改
-
-
创建Response类:统一后端接口的格式
-
对controller类里面进行修改
-
apifox
-
填写相关请求
-
controller类里面相关请求路由
-
impl类中里面相关请求的功能
-
运行:检测请求是否有误
打包项目
-
终端:mvn clean install(build success则打包成功)
-
在target文件夹里面会出现一个jar包,copy其路径
-
打包完成后,运行生成的 JAR 文件
java -jar your-project-name.jar
rest api规范
路径
-
又称“终点”,表示api具体网址
-
在restful架构中,每个网址代表一种资源
-
网址中只能有名词,所用的名词往往与数据库的表格名对应
Http动词
-
GET(SELECT):从服务器取出资源
-
POST(CREATE):在服务器新建资源
-
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)
-
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)
-
DELETE(DELETE):在服务器删除资源