SpringBoot系列——第二章 使用
文章目录
前言
基于SpringBoot整合SpringMVC
一、SpringBoot应用的创建
SpringBoot应用依赖远程服务器进行创建,然后下载到本地
远程服务器:
- Spring官方:https://start.spring.io
- 阿里云:https://start.aliyun.com
下载方式:
- IDEA下载
- 网页下载
1. IDEA下载
通过
IDEA
的SpringBoot初始化器
创建
1.1 File—NEW—Project
1.2 填写项目信息
1.3 选择版本 添加依赖
1.4 创建完成
2 网页下载
在https://start.spring.io/网页上创建下载到本地,再通过IDEA打开
2.1 访问网页
2.2 填写项目信息
2.3 添加依赖
2.4 打开应用
将下载的zip文件解压到工作空间,用IDEA打开即可
3. 应用可能存在的问题
下载的项目pom.xml文件可能出现的错误
- 解决方法
加上版本号,版本号为SpringBoot的版本号
二、SpringBoot的配置
1. SpringBoot的项目结构
2. SpringBoot的自定义配置(整合MyBatis)
SpringBoot帮助我们完成通用性配置,但是像
数据库连接地址、账号、密码
等还是需要手动完成配置
2.1 修改数据库驱动版本
在pom.xml,这一步骤可以不做,不做就是使用默认8.0.*版本
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<scope>runtime</scope>
</dependency>
2.2 配置数据源及路径
在SpringBoot的主配置文件
application.properties
配置数据源及路径
# 配置数据源
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 数据库驱动版本5.1.47
spring.datasource.url=jdbc:mysql://localhost:3306/db6
# 数据库驱动版本8.0.31
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456
## 配置mapper映射文件路径
mybatis.mapper-locations=classpath:mappers/*Mapper.xml
## 配置实体类的包名
mybatis.type-aliases-package=com.xiaoqing.springbootdemo01.bean
2.3 指定DAO接口的包名
在SpringBoot的
启动类
用@MapperScan注解指定DAO接口的包名
@SpringBootApplication
@MapperScan("com.xiaoqing.springbootdemo01.dao")
public class SpringbootDemo01Application {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemo01Application.class, args);
}
}
三、启动项目
1. 启动
SpringBoot
自带Servlet容器-Tomcar
,因此无需进行额外的服务器配置,运行启动类即可启动SpringBoot应用
2. 测试
测试用户列表功能
2.1 创建数据表
在数据库db6创建数据表users,有5个字段
- user_id
- user_name
- user_pwd
- user_realname
- user_Img
2.2 创建实体类
在bean包创建实体类User
- User
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class User {
private int UserId;
private String userName;
private String userPwd;
private String userRealname;
private String userImg;
}
2.3 创建DAO接口
在dao包下创建UserDAO
- UserDAO
public interface UserDAO {
public List<User> queryAllUsers();
}
2.4 创建Mapper映射文件
在resource/mappers创建UserMapper.xml
- UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xiaoqing.springbootdemo01.dao.UserDAO">
<resultMap id="userMap" type="user">
<id column="user_id" property="userId"/>
<result column="user_name" property="userName"/>
<result column="user_pwd" property="userPwd"/>
<result column="user_realname" property="userRealname"/>
<result column="user_img" property="userImg"/>
</resultMap>
<select id="queryAllUsers" resultMap="userMap">
select user_id,user_name,user_pwd,user_realname,user_img
from users
</select>
</mapper>
2.5 创建Service接口
在service包下创建UserService接口类
- UserService
public interface UserService {
//用户注册
public User userRegist(User user);
public List<User> listUser();
}
2.6 创建Service接口实现类
在service/impl创建UserServiceImpl
- UserServiceImpl
@Service
public class UserServiceImpl implements UserService {
@Resource
private UserDAO userDAO;
/**
* 用户列表功能
* 查询所有用户
* */
@Override
public List<User> listUser() {
List<User> users = userDAO.queryAllUsers();
return users;
}
}
2.7 创建控制器类
在controllers包创建UserController
- UserController
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
@RequestMapping("/list")
@ResponseBody
public List<User> list(){
List<User> users = userService.listUser();
return users;
}
}
2.8 启动应用
2.9 访问
浏览器访问:http://localhost:8080/user/list
- 测试结果
2.10 项目结构
四、SpringBoot的全局配置文件
SpringBoot针对不同的开发场景提供默认的属性配置,
如果默认的配置不能满足开发的需要,我们需要对属性配置进行修改
SpringBoot提供了一个
全局配置文件application.properties,用于自定义配置
全局配置文件支持两种语法配置
- properties键值对配置
- yaml语法配置
1. 基于peoperties配置
# 配置数据源
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 数据库驱动版本5.1.47
spring.datasource.url=jdbc:mysql://localhost:3306/db6
# 数据库驱动版本8.0.31
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456
## 配置mapper映射文件路径
mybatis.mapper-locations=classpath:mappers/*Mapper.xml
## 配置实体类的包名
mybatis.type-aliases-package=com.xiaoqing.springbootdemo01.bean
2. 基于yaml的配置
spring:
datasource:
url: jdbc:mysql://localhost:3306/db6
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
mybatis:
config-location: classpath:mappers/*Mapper.xml
type-aliases-package: com.xiaoqing.springbootdemo01.bean
3. 常用的全局配置
# http://localhost:9999/demo01/user/list
# 配置端口号
server.port=9999
# 配置项目名
server.servlet.context-path=/demo01
五、SpringBoot的自定义banner
在SpringBoot应用启动的时候是有一个默认启动图案的
这个图案支持自定义配置
在resource目录下创建一个banner.txt
在banner.txt文件中定义图案
// // // // // // // // // // // // // // // // // // // // // //
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
// // // // // // // // // // // // // // // // // // // // // //
运行效果
六、SpringBoot整合JSP
SpringBoot应用
默认支持的动态网页技术是Thymeleaf,并不支持JSP
;因此在SpringBoot应用想要使用JSP需要通过手动整合来实现
1. 添加依赖
<!-- tomcat-embed-jasper -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
2. 完成项目结构
在main创建webapp目录
在webapp目录创建WEB-INF
在webapp目录创建JSP页面
这样我们在项目中可以正常使用JSP页面了