Spring Boot学习
最近因为课程设计的原因在学习Java的热门框架SpringBoot,那就浅浅更一下我的学习日常吧,督促一下我的学习进度
文章目录
注意
创建工程在IDEA中
-
创建Maven工程的时候需要在联网的情况下才能完成
-
创建的时候默认是这个样子的,但是我们需要将包的名字修改一下(注意修改Java version的版本)
-
运行spring boot程序通过运行Application程序入口进行的(手动引导类)
创建spring boot项目也可以在官网(https://start.spring.io/)进行创建
创建spring boot项目也可以在阿里云(http://start.aliyun.com)上创建
隐藏指定文件/文件夹
SpringBoot简介
Spring Boot程序优点
起步依赖(简化依赖配置)
自动配置(简化常用工程相关配置)
辅助功能(内置服务器,…)
入门案例(通过以下实现了上述优点)
parent
版本管理和坐标管理进行拆分
导包的步骤:
- 定义一系列的常用坐标版本
- 定义一系列的常用坐标组合
- 直接使用组合
所有spring boot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
spring-boot-starter-parent个版本间存在着诸多坐标版本不同
starter
spring boot相当于依赖的传递
starter相当于一个包含了若干个坐标定义的pom管理文件,通过他实现快速配置,大导简化配置的目的
定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的
实际开发
- 使用任意坐标时,仅书写GAV中的G和A,V由spring boot提供,除非spring boot未提供对应的版本V
- 如发生坐标错误,再指定Version(要小心版本冲突)
引导类
引导类其实是整个程序的入口,运行main方法就可以启动项目
Spring Boot工程运行后初始化Spring容器,扫描引导类所在包加载bean
内嵌tomcat
web起步依赖环境中,排除Tomcat的起步依赖需要用<exclusions>
和<exclusion>
添加Jetty起步依赖,版本由Spring Boot的starter控制
Jetty比Tomcat更轻量级,可扩展性更强(相较于Tomcat),谷歌应用引擎(GAE)已经全面切换为Jetty
内置服务器的种类有tomcat(默认)[应用面比较广,负载了若干较重的组件]、jetty[更轻量级,负载性能远不及tomcat]、undertow[负载性能勉强跑赢tomcat]
REST开发
REST,表现形式状态转换
优点;
- 隐藏资源的访问行为,无法通过地址得知对资源是何种操作
- 书写简化http://localhost/users
按照REST风格访问资源时使用行为动作区分对资源进行了何种操作(通过请求的method)
访问地址 | 操作 | method |
---|---|---|
http://localhost/users | 查询全部用户信息 | GET(查询) |
http://localhost/users/1 | 查询指定用户信息 | GET(查询) |
http://localhost/users | 添加用户信息 | POST(新增/保存) |
http://localhost/users | 修改用户信息 | PUT(修改/更新) |
http://localhost/users/1 | 删除用户信息 | DELETE(删除) |
注意事项:
这些行为是约定方式,约定不是规范,所以是REST风格
描述模块的名称通常使用复数,用于表示此类资源,而非单个资源