1. SpringBoot简介
2. SpringBoot入门
3. SpringBoot整合MyBatis
4. thymeleaf模板技术
5. SpringBoot 的作用
Spring框架特点是:轻代码、重配置
SpringBoot特点是:约定大于配置,主要功能是:
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征有:
创建SpringBoot的两种方式
@SpringBootApplication
public class Day6SpringbootApplication {
public static void main(String[] args) {
//启动SpringBoot项目
SpringApplication.run(Day6SpringbootApplication.class, args);
}
}
@SpringBootApplication注解必须加在启动类上,启动类必须在项目的最上层的包中,可以对子包中的类进行扫描
SpringBoot支持三种配置文件格式,分别是:
配置名1.配置名2.配置名3=值
配置名1.配置名2.配置名4=值
配置名1.配置名2.配置名5=值
server.port=8888
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/petdb?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
yml和yaml格式的写法:
配置名1:
配置名2:
配置名3: 值
配置名4: 值
配置名5: 值
server:
port: 8888
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/petdb?serverTimezone=UTC
username: root
password: root
修改代码后,不需要重启服务器,就能让代码生效
org.springframework.boot
spring-boot-devtools
runtime
true
重启服务器
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.2.0
server:
port: 8888
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/petdb?serverTimezone=UTC
username: root
password: root
mybatis:
type-aliases-package: com.hopu.day6_springboot.entity
mapper-locations: classpath:mapper/*.xml
configuration:
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
在启动类上添加注解,扫描Mapper接口
@MapperScan(basePackages = "com.hopu.day6_springboot.dao")
SpringBoot默认支持Thymeleaf模板技术
Thymeleaf特点是:既可以单独显示静态页面,也可以整合动态数据
1) 导入依赖
org.springframework.boot
spring-boot-starter-thymeleaf
2)在templates下新建html页面
在页面的html标签中添加: xmlns:th=“http://www.thymeleaf.org”
属性用法:
th:text 用于绑定标签的文字
<标签 th:text="${表达式}">
th:each 用于循环生成标签
th:each=”变量:${集合对象}”
实现固定次数的循环:
1
th:src 用于显示包含动态内容图片路径
th:href 用于指定包含动态数据的超链接地址
更新
含动态内容图片路径
th:href 用于指定包含动态数据的超链接地址
更新
导入springboot-starter后,引入大量相关依赖,如何依赖相互兼容?
导入starter后,内部定义依赖包的版本
spring-boot-parent
spring-boot-dependencies
starter内部定义大量内置依赖,规定好版本
使用SpringBoot项目后,不需要进行大量的配置就能实现开发,为什么?
手动配置 —> 自动配置
自动配置是用Java实现的
自动配置类是什么时候导入内存的
启动类上的注解:@SpringBootApplication
包含三个注解:
@ComponentScan 包的扫描
@SpringBootConfiguration 定义配置类
@EnableAutoConfiguration 启动自动配置(将自动配置类加载到内存)
怎么加载类到内存中? Class.forName(“完整类名”)
@EnableAutoConfiguration --> AutoConfigurationImportSelector --> loadFactoryNames —> classLoader.getResources(“META-INF/spring.factories”)