Spring Boot 学习记录
2022/1/18
开始着手准备学习spring boot 参考资料为 雷神的blbl视频 参考官方文档 docs.spring.io/spring-boot…
编写Hello world
第一步
参考POM 4.1
maven配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.8</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
第二步
编写主程序类
/**
* 第一步:设置
* 主程序类
* @SpringBootApplication:让idea知道这是一个Springboot应用 MainaApplication
* hello的运行 就直接在主类运行Main方法即可
*/
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class,args);
}
}
controller 层完成 Hello
//@ResponseBody//二,使用放在这里
//@Controller
@RestController//这个就是整合上面两个的 @ResponseBody @Controller 方便
public class HelloControllect {
// @ResponseBody//一,可以放在这里但是每一次都要加的画 就放在开头
@RequestMapping("/hello")
public String handle01(){
return "Hello,SpringBoot2";
}
}
第三步
运行
-
运行只需要运行主程序类的Main方法
1.2、自动配置
参考资料 www.yuque.com/atguigu/spr…
- 自动配好Tomcat
-
- 引入Tomcat依赖。
- 配置Tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.3.4.RELEASE</version>
<scope>compile</scope>
</dependency>
- 自动配好SpringMVC
-
- 引入SpringMVC全套组件
- 自动配好SpringMVC常用组件(功能)
- 自动配好Web常见功能,如:字符编码问题
-
- SpringBoot帮我们配置好了所有web开发的常见场景
- 默认的包结构
-
- 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来
- 无需以前的包扫描配置
-
- 想要改变扫描路径,@SpringBootApplication(scanBasePackages= "com.atguigu" )
-
-
- 或者@ComponentScan 指定扫描路径
-
@SpringBootApplication
等同于
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.atguigu.boot")
- 各种配置拥有默认值
-
- 默认配置最终都是映射到某个类上,如:MultipartProperties
- 配置文件的值最终会绑定每个类上,这个类会在容器中创建对象
- 按需加载所有自动配置项
-
- 非常多的starter
- 引入了哪些场景这个场景的自动配置才会开启
-
- SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面
- ......
即以hello项目为例
- -只要在boot包下的东西都可以被扫描到
- 如果在 chen 里面创建 的扫描不到
如果非要改则
在主程序中的 @SpringBootApplication(scanBasePackages= "com.chen" )
2022/1/19
学习spring boot 的过程中发现神的blbl视频源码涉及有点多可能不适合我入门(仅本人) 使用更改参考资料
研究黑马程序员的springboot视频 现在看到p14 www.bilibili.com/video/BV15b…
参考官方文档 docs.spring.io/spring-boot…
前面的东西比较基础也重复了 过了一遍 然后补充知识的Rest风格不熟悉 即记录一下
还没有动手写 就参考别人的学习资料blog.csdn.net/qq_42324086…
知识加油站-01-REST风格简介
什么是 rest :
- REST(Representational State Transfer)表现形式状态转换
传统风格资源描述形式
http://localhost/user/getById?id=1 (得到id为1的用户)
http://localhost/user/saveUser (保存用户)
REST风格描述形式
http://localhost/user/1 (得到id为1的用户)
http://localhost/user (保存用户)
-
优点:
- 隐藏资源的访问行为, 无法通过地址得知对资源是何种操作
- 书写简化
-
按照REST风格访问资源时使用行为动作区分对资源进行了何种操作
重点
GET 用来获取资源,POST 用来新建资源,PUT 用来更新资源,DELETE 用来删除资源
- 上述行为是约定方式,约定不是规范,可以打破,所以称REST风格,而不是REST规范
描述模块的名称通常使用复数,也就是加s的格式描述,表示此类资源,而非单个资源,例如: users、 books、 accounts… - 根据REST风格对资源进行访问称为RESTful
- 小结:
- REST
- 动作4个
- RESTful
知识加油站-02-RESTful 入门案例
最基础的对比
传统
REST风格
重点
2022/1/20
现在是刚过12.不久 继续看黑马程序员的spring boot 努努力p15开始后面能看多少是多少啧啧啧 争取明天看到整合 然后对于web的开发 看看到时要不要和雷神的视频同步看
模块化
弄了给干净的模板 开始学习如何更改服务器端口
新建 application.properties
#更改服务器端口
server.port=8080
其他
##修改banner
#spring.main.banner-mode=off
##就是关闭那个图像
#日记
#logging.level.com.chen=warn
其他的参考官方文档
SpringBoot提供了多种属性配置方式
如果配置多了 太多放在一起看着难受
可使用yml或yaml格式
yml和yaml 叫yaml格式 但是后缀yml用的比较多
通常用yml格式主流
三种配置方式:
application.properties
server.port=80
1 application.yml
server:
port: 81
application.yaml
server:
port: 82
配置文件加载优先级
SpringBoot配置文件加载顺序
application.properties > application.yml > application.yaml
常用配置文件种类
application.yml
小结:
配置文件间的加载优先级
properties(最高)
yml
yaml(最低)
不同配置文件中相同配置按照加载优先级相互覆盖 (高优先级配置内容会覆盖低优先级配置内容), 不同配置文件中不同配置全部保留
要是yaml不能用 或者新建yaml以后 yml不能用了
则打开
yaml语法规则
- 基本语法
-
- key: value -> value 前面一定要有空格
- 大小写敏感
- 属性层级关系使用多行描述,每行结尾使用冒号结束
- 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
- 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
- # 表示注释
核心规则:数据前面要加空格与冒号隔开
server:
servlet:
context-path: /hello
port: 82