SpringBoot基础入门
SpringBoot简介
springboot版本如果3.0以上的,将不支持jdk8,就算选了jdk8也没用
SpringBoot入门案例
入门案例一
基于Idea创建SpringBoot工程(也可以在官网创建SpringBoot工程)
SpringBoot程序包含的基础文件
Spring和SpringBoot程序对比
注意事项:使用SpringBoot必须要联网,且可以在网页上创建工程
入门案例二
基于阿里云创建SpringBoot工程
通常的SpringBoot创建连接的网址是http://start.spring.io,但是这是个外国网站,不能保证以后就一定还能访问,因此,我们也可以连接国内的http://start.aliyun.com
入门案例三
手工创建Maven工程修改为SpringBoot工程
SpringBoot项目快速启动
步骤
隐藏文件/文件夹
SpringBoot概述
起步依赖
辅助功能
SpringBoot引导类(程序启动)
引导类会扫描他所在的包及其子包下的类,因此才可以扫描Bean
基础配置
配置文件格式
在以后得工作中,一般都是写yml的格式来配置
如果三个文件都有,properties的优先级最高,如果properties没有配置,则yml的优先级更高
对配置文件,如果没有自动补全,说明可能没有识别为SpringBoot配置文件,可以在文件的项目结构中找到facet,找到对应的spring项目
选择新增的文件进行加入
yaml
yaml数组数据
yaml数据读取
法一
法二
法三
注意
如果自定义对象类的上方有红色警告,就可以这样解决
多环境启动
properties环境开发操作了解就可以了,日常使用并不是很多
多环境启动命令格式
在此之前先有两点注意:
1.在打包之前,一般都要先执行clean再执行package,防止打的包被上次执行效果影响
2.打包的有时候会存在中文,需要进行修改,路径:file->Settings->editor->file encodings: 找到Project Encoding(默认为GBK),修改为UTF-8;再将下面的Default encoding修改为UTF-8
在cmd的操作上执行
参数加载优先顺序
https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config
上面的优先级低,下面的优先级高
(了解即可,用到的并不多)
多环境开发控制
maven与boot多环境设置的时候,boot要听从maven的设定
注意:这样操作,配置文件并没有编译,还需要对maven进行设置才可编译占位符
配置文件分类
优先级高的文件会优先配置,便于测试和开发
此外,springboot的2.5.0有个小bug,即如果目录中有config目录,必须config目录中有一个子目录才可以运行,否则会报错
整合第三方技术
整合JUnit
spring整合JUnit
SpringBoot整合JUnit
注意:即当启动类所在的包或者子包与测试类的包相同,则SpringBootTest不需要设定classes,比如两者都在jiajia包里便不需要,在idea项目的springboot_07_test中有详细测试
注意事项:
为什么测试类可以加载到Bean并自动装配呢?
因为启动类在什么位置,它就会把它所在的包及其子包全部扫描一遍,因此可以加载到Bean
BookService在service包里,是启动类所在包jiajia的子包,因此可以扫描到
整合SSM
整合MyBatis
注意:
1.在boot的2.4.3版本以前,数据库url连接要加上ServerTimezone=UTC,否则会报错
2.最重要!!! 在MyBatis的操作接口,要添加 @Mapper,因为这个接口并没有被像Spring一样被扫描到自动代理,因此会报错,添加了过后可以使SpringBoot创建该代理类