1. SpringBoot简介
2. SpringBoot入门
3. SpringBoot整合MyBatis
4. thymeleaf模板技术
5. SpringBoot 的作用
SpringBoot简介 Spring框架特点是:轻代码、重配置
SpringBoot特点是:约定大于配置,主要功能是:
- 自动配置
- 依赖管理
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征有:
- 可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
- 内嵌Tomcat或Jetty等Servlet容器;
- 提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
- 尽可能自动配置Spring容器;
- 提供准备好的特性,如指标、健康检查和外部化配置;
- 绝对没有代码生成,不需要XML配置。
- 去官网下载SpringBoot新项目,在本地ide中打开
- 直接在IDEA中创建SpringBoot项目
@SpringBootApplication
public class Day6SpringbootApplication {public static void main(String[] args) {
//启动SpringBoot项目
SpringApplication.run(Day6SpringbootApplication.class, args);
}
}
@SpringBootApplication注解必须加在启动类上,启动类必须在项目的最上层的包中,可以对子包中的类进行扫描
配置文件 SpringBoot支持三种配置文件格式,分别是:
- properties(默认)键值对格式, 键=值
配置名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
- 打开File-settings-compiler
文章图片
- ctrl+shift+alt+/ --> registry
文章图片
重启服务器
SpringBoot整合MyBatis
- 导入依赖
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")
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 用于显示包含动态内容图片路径
文章图片
【SpringBoot|一天学完SpringBoot】th:href 用于指定包含动态数据的超链接地址
更新
含动态内容图片路径
文章图片
th:href 用于指定包含动态数据的超链接地址
更新
文章图片
文章图片
SpringBoot的作用 自动依赖管理 导入springboot-starter后,引入大量相关依赖,如何依赖相互兼容?
导入starter后,内部定义依赖包的版本
spring-boot-parent
spring-boot-dependencies
starter内部定义大量内置依赖,规定好版本
自动配置 使用SpringBoot项目后,不需要进行大量的配置就能实现开发,为什么?
手动配置 —> 自动配置
自动配置是用Java实现的
- 在spring-boot-autoconfigure包下保存大量的自动配置类
- 类名都保存 META-INFO/spring.factotiries文件下
- 自动配置类生效需要一定条件,如@ConditionalOnClass,引入某些类时(导入了对应的框架依赖)
启动类上的注解:@SpringBootApplication
包含三个注解:
- @ComponentScan 包的扫描
- @SpringBootConfiguration 定义配置类
- @EnableAutoConfiguration 启动自动配置(将自动配置类加载到内存)
@EnableAutoConfiguration --> AutoConfigurationImportSelector --> loadFactoryNames —> classLoader.getResources(“META-INF/spring.factories”)
推荐阅读
- java|JavaSE基础复习day01
- 计算机|【JavaWeb】常见面试题
- SpringBoot|设计一个简单的权限管理系统
- MySQL|mysql操作、约束、索引
- JavaSwing项目|基于Eclipse+Java+Swing+Mysql实现旅游管理信息系统
- JDBC从入门到实战|如何通过JDBC访问MySQL数据库(手把手实现登录界面(图解+完整代码))
- 一分钟上手SpringBootTest
- kubernetes|CC00095.CloudKubernetes——|KuberNetes&二进制升级.V06|——|kubernetes组件|calico.v3.15.3——>v3.19.1|
- Windows|Maven项目POM文件参数详解