(1)什么是Spring Boot ?
(2)Spring Boot 特点
(1)创建maven工程,不要使用骨架
(2)编写pom.xml文件,继承springboot父工程
org.springframework.boot spring-boot-starter-parent 2.3.4.RELEASE
(3)设置jdk版本,添加启动器
org.springframework.boot spring-boot-starter-web
(4)创建启动类
package com.qfedu;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}
(5)SpringBoot 启动器概述
所谓的springBoot 启动器其实就是一些 jar包的集合,SprigBoot一共提供 44 个启动器。例如:
spring-boot-starter-web:支持全栈式的 web 开发,包括了 tomcat 和 springMVC 等 jar
spring-boot-starter-jdbc:支持 spring 以 jdbc 方式操作数据库的 jar 包的集合
spring-boot-starter-redis:支持 redis 键值存储的数据库操作
banner.txt 放置在resources 目录下 _ooOoo_o8888888o88" . "88(| -_- |)O\ = /O____/`---'\____.' \\| |// `./ \\||| : |||// \/ _||||| -:- |||||- \| | \\\ - /// | || \_| ''\---/'' | |\ .-\__ `-` ___/-. /___`. .' /--.--\ `. . __."" '< `.___\_<|>_/___.' >'"".| | : `- \`.;`\ _ /`;.`/ - ` : | |\ \ `-. \_ __\ /__ _/ .-` / /======`-.____`-.___\_____/___.-`____.-'======`=---='^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^// 佛祖保佑 永不宕机 永无BUG //

(1)配置文件命名

(2)yml配置文件
- yml是 Spring Boot 中新增的一种配置文件格式。
- 特点:具备天然的树状结构
(3)配置文件示例:
server:port: 8090 #端口号servlet:context-path: /springboot #项目名spring:datasource: #数据库连接driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/spring?characterEncoding=utf-8&useSSL=false&serverTimezone=UTCusername: rootpassword: 123456#配置mybatis
mybatis:type-aliases-package: com.qfedu.pojomapper-locations: classpath:mapper/*Mapper.xml#配置日志
logging:level:com.qfedu.aop: debug
(1)在pom中添加一个SpringBoot的构建的插件
org.springframework.boot spring-boot-maven-plugin
(2)在maven面板视图中,选择“package”,在target中会产生xxx.jar包

(3)然后在cmd终端发布项目(jar包所在目录)
java -jar xxx.jar

SpringBoot配置主要靠java类和一些注解来达到和xml配置一样的效果,比较常用的注解有:
@Configuration:声明一个类作为配置类,代替xml文件
@Bean:声明在方法上,将方法的返回值加入Bean容器,代替标签
使用全局配置文件:application.properties,不用显式引用配置文件(不需要使用注解@PropertySource),便可以直接使用全局配置文件信息
配置数据源
@Configuration
public class JdbcConfiguration {@Value("${jdbc.url}")String url;@Value("${jdbc.driverClassName}")String driverClassName;@Value("${jdbc.username}")String username;@Value("${jdbc.password}")String password;@Beanpublic DruidDataSource dataSource() {DruidDataSource dataSource = new DruidDataSource();dataSource.setUrl(url);dataSource.setDriverClassName(driverClassName);dataSource.setUsername(username);dataSource.setPassword(password);return dataSource;}
}
声明要注入的属性前缀,SpringBoot会自动把相关属性通过set方法注入到属性中(从全局配置文件中读取:application.properties)
(1)配置数据源 —— @Autowired注入
@Configuration
public class JdbcConfiguration {@Autowiredprivate DbProperties dbProperties;@Beanpublic DruidDataSource dataSource() {DruidDataSource dataSource = new DruidDataSource();dataSource.setUrl(dbProperties.getUrl());dataSource.setDriverClassName(dbProperties.getDriverClassName());dataSource.setUsername(dbProperties.getUsername());dataSource.setPassword(dbProperties.getPassword());return dataSource;}
}
(2)配置数据源 —— @Bean方法的参数注入
@Configuration
public class JdbcConfiguration {@Bean//会去Spring容器中找到一个同类型的bean,注入到参数中public DruidDataSource dataSource(DbProperties dbProperties) {DruidDataSource dataSource = new DruidDataSource();dataSource.setUrl(dbProperties.getUrl());dataSource.setDriverClassName(dbProperties.getDriverClassName());dataSource.setUsername(dbProperties.getUsername());dataSource.setPassword(dbProperties.getPassword());return dataSource;}
}
声明要注入的属性前缀,SpringBoot会自动把相关属性通过set方法注入到DataSource属性中@Configuration
public class JdbcConfiguration {@Bean// 声明要注入的属性前缀,SpringBoot会自动把相关属性通过set方法注入到DataSource中@ConfigurationProperties(prefix = "jdbc")public DataSource dataSource() {DruidDataSource dataSource = new DruidDataSource();return dataSource;}
}

(1)什么是Thymeleaf

(2)为什么要使用Thymeleaf

(3)thymeleaf的启动器
org.springframework.boot spring-boot-starter-thymeleaf
(4)thymeleaf默认配置文件
导入相关启动器后,可以直接查询 XXXAutoConfiguration ,其中必定含有XXXProperties类,其里面含有相关默认配置hymeleaf也会根据前缀和后缀来确定模板文件的位置:

classpath:/templates/.htmlThymelaef特点:
语法:通过他特定标签操作html属性
目录位置:src/main/resources/templates
后缀名:.html
注意,把html 的名称空间,改成:xmlns:th="http://www.thymeleaf.org" 会有语法提示
(1)变量输出
(2)日期和字符串处理
Thymeleaf 内置对象
注意语法:
调用内置对象一定要用#
大部分的内置对象都以 s 结尾 strings、numbers、dates
${}表达式一定是在""中生效的
日期处理:
字符串处理:
(3)条件判断
性别:男
(4)单选框按钮选中判断
性别:男女
(5)迭代遍历
(5)URL表达式
/ :相当于当前项目的跟
~/ :相当于服务器的跟



(1)ThymeleafViewResolver视图解析器
ThymeleafViewResolverSpringMVC的视图解析器ThymeleafViewResolver的优先级会高于SpringMVC的视图解析器(查看ThymeleafAutoConfiguration源码可知)
(2)Spring Boot 使用的视图解析器
templates文件夹 下的资源不会访问Spring Boot的静态资源.html结尾SpringMVC的视图解析器后缀不是 —— .html,默认templates文件夹中的页面后缀是.html,且名称相同时,templates文件夹中的页面优先级高(引用Thymeleaf 启动器后)
只要存在Thymeleaf相关依赖,若是视图名称和templates文件夹中的页面名称相同,返回扫描templates文件夹中的页面就会优于静态资源下的视图页面(就算在配置文件中指定返回的后缀(spring.mvc.view.suffix=),SpringMVC视图解析器也不会生效)
若存在Thymeleaf相关依赖,想要实现页面跳转(跳转到静态资源包下),可以直接return /页面.html