1.什么是SpringBoot:
Spring Boot 是一个开源的 Java 应用框架,旨在简化新 Spring 应用的初始搭建以及开发过程。它使用“约定优于配置”的原则,减少了项目配置的复杂性。
Spring Boot 的一些主要特点包括:
-
自动配置:Spring Boot 可以自动配置 Spring 应用程序,省去了大量的 XML 配置。
-
起步依赖:通过起步依赖(Starter Dependencies),可以简化项目的依赖管理。
-
应用监控:提供对应用程序运行状态的监控,包括健康检查、外部化配置等。
-
生产准备:Spring Boot 默认集成了许多适用于生产环境的特性,如安全性、数据访问、指标收集等。
-
非侵入式:Spring Boot 提供了许多非侵入式的功能,比如嵌入式服务器、日志框架等,你可以自由选择。
-
与 Spring 生态系统集成:Spring Boot 可以很好地与 Spring 生态系统中的其他框架和工具集成。
Spring Boot 的核心思想是让开发者能够以更少的代码和配置来创建 Spring 应用程序。它简化了项目的创建和打包过程,使得开发者可以更专注于业务逻辑的实现。
2.使用SpringBoot的好处:
使用 Spring Boot 相比于传统的 Spring 应用程序有几个明显的好处:
-
简化配置:Spring Boot 提供了一种简化的方式来配置 Spring 应用程序,通过使用
application.properties
或application.yml
文件,而不是传统的 XML 配置文件。这大大减少了配置的复杂性。 -
自动配置:Spring Boot 能够自动配置 Spring 应用程序,这意味着你可以省去很多样板代码和 XML 配置。它能够根据添加的依赖自动配置 Bean。
-
起步依赖(Starters):Spring Boot 提供了一种叫做“起步依赖”的机制,允许你通过添加一个起步依赖来引入所需的功能,比如数据库访问、Web 开发等。这简化了依赖管理和项目构建。
-
生产准备特性:Spring Boot 提供了很多开箱即用的特性,如嵌入式服务器、安全性、数据访问、指标收集等,这些特性都是为了生产环境而设计的。
-
总的来说,Spring Boot 简化了 Spring 应用程序的开发和部署过程,使得开发者可以更专注于业务逻辑的实现,而不是底层配置和集成细节。
总的来说,Spring Boot 简化了 Spring 应用程序的开发和部署过程,使得开发者可以更专注于业务逻辑的实现,而不是底层配置和集成细节。
3.怎么使用SpringBoot:
3.1 新建项目:
3.2 选择起步依赖:
3.3 在pom文件配置mybatis起步依赖和数据库驱动:
<!--mybatis起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!-- MySQL连接驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
3.4 application.properties
或 application.yml
文件配置数据库信息
server:
port: 8080
#DB Configuration:
spring:
#连接池配置
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/advdb?useUnicode=true&serverTimezone=GMT&characterEncoding=UTF-8&useSSL=false
username: root
password: 123456
initial-size: 1 #连接池初始大小
max-active: 20 #连接池中最大的活跃连接数
min-idle: 1 #连接池中最小的活跃连接数
max-wait: 60000 #配置获取连接等待超时的时间
pool-prepared-statements: true #打开PSCache,并且指定每个连接上PSCache的大小
max-pool-prepared-statement-per-connection-size: 20
validation-query: SELECT 1 FROM DUAL
validation-query-timeout: 30000
test-on-borrow: false #是否在获得连接后检测其可用性
test-on-return: false #是否在连接放回连接池后检测其可用性
test-while-idle: true #是否在连接空闲一段时间后检测其可用性
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
type-aliases-package: com.fs.pojo
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# mybatis 配置
4. 通过测试实验是否连接数据库:
4.1 任写一个dao层,实现一个方法,并且添加mapper映射方法,最后在SpringBoot自带的测试环境进行测试,方法执行就是连接成功.
package com.fs;
import com.fs.mapper.AdvDao;
import com.fs.pojo.Adv;
import org.junit.jupiter.api.Test;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
import java.util.List;
@SpringBootTest
@MapperScan("com.fs.mapper")
class SpringBootDemosApplicationTests {
@Resource
private AdvDao advDao;
@Test
void contextLoads() {
}
@Test
void Test() {
System.out.println(advDao);
// advDao.queryById(1);
List<Adv> advs = advDao.queryAll();
for (Adv adv : advs) {
System.out.println(adv);
}
}
}
4.2 常见错误及解决方案:
错误指出我们AdvDao找不到
解决方案1:dao层类上加一个@Mapper注解进行映射
解决方案2:在SpringBoot主启动类上加@MapperScan注解,并指定需要扫描的包