文章目录
一、Spring Boot框架
- Spring Boot官网:https://spring.io/projects/spring-boot
- Spring Boot为了帮助开发者更加快速地开发各式应用,其设计思想是尽量使用最佳实践和默认配置来自动化装配Spring应用中的各类Bean,从而避免大量的重复性代码和配置文件。
二、Spring Boot基本设置
(一)创建Spring Boot项目
- 配置项目基本信息
- 添加依赖
1、项目入口类 - SpringBootDemoApplication
- 包含一个主方法作为入口类的入口方法
- 利用SpringApplication类的静态方法run()启动入口类实例,可以接收命令行参数
2、了解核心注解 - @SpringBootApplication
- @SpringBootApplication是Spring Boot的核心注解,是一个组合注解。
- 查看@SpringBootApplication的源代码
3、设置exclude属性值,关闭特定的自动配置
- 关闭数据源自动配置
(二)添加控制器和路由函数
- 直接在入口类上面添加@Controller注解,然后定义路由函数index()
(三)启动项目,查看结果
- 启动项目
- 访问http://localhost:8080
- 添加路由函数welcome(),通过model参数向前端模板页面传递数据
- 在templates里创建welcome.html,跟路由函数welcome()里的逻辑视图名welcome相对应
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
<head>
<meta charset="UTF-8">
<title>Welcome</title>
<head>
<body>
<h3><span th:text="${message}">亲爱的朋友,欢迎访问Spring Boot世界~</span></h3>
</body>
</html>
- 说明:
<span>
元素的内容是静态数据,客户端打开页面看到的数据
(四)定制与关闭启动标语
1、创建标语文件
- 在resources目录下创建banner.txt文件(如果是其它文件名,将会被系统忽略)
2、生成艺术字符
- 通过http://patorjk.com/software/taag网站生成字符
3、更新标语文件
- 将网站生成的艺术字符复制到banner.txt文件里
4、启动项目,查看结果
- 你会看到以上信息
5、关闭启动标语
- 修改入口程序代码,关闭标语功能
(五)配置应用属性文件
1、修改服务器的端口号
- 在application.properties文件里设置服务器端口号为
8080
4、采用yaml格式的应用属性文件
- 将
application.properties
重命名application.yaml
- 配置属性的写法有点不同,是一种层次结构
- 注意:属性冒号后面必须有空格与属性值分开
(六)允许使用XML配置Spring
1、创建用户实体类
- 在
net.xjx.boot.bean
包里创建User
类
package net.xjx.boot.bean;
import java.util.Date;
/**
* 功能: 用户实体类
* 时间: 2022年06月4日
*/
public class User {
private int id;
private String username;
private String password;
private String telephone;
private Date registerTime;
private int popedom;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public Date getRegisterTime() {
return registerTime;
}
public void setRegisterTime(Date registerTime) {
this.registerTime = registerTime;
}
public int getPopedom() {
return popedom;
}
public void setPopedom(int popedom) {
this.popedom = popedom;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", telephone='" + telephone + '\'' +
", registerTime=" + registerTime +
", popedom=" + popedom +
'}';
}
}
2、创建Spring配置文件
- 在
resources
目录里创建spring-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="sdf" class="java.text.SimpleDateFormat">
<constructor-arg value="yyyy-MM-dd hh:mm:ss"/>
</bean>
<bean id="date" factory-bean="sdf" factory-method="parse">
<constructor-arg value="2021-12-25 09:30:30"/>
</bean>
<bean id="user" class="net.huawei.boot.bean.User">
<property name="id" value="2022001"/>
<property name="username" value="Mike"/>
<property name="password" value="903213"/>
<property name="telephone" value="18934563800"/>
<property name="registerTime" ref="date"/>
<property name="popedom" value="1" />
</bean>
</beans>
3、入口类导入Spring配置文件
- 添加注解
ImportResource("")
4、使用Spring配置文件里创建的Bean
- 自动装配用户Bean
- 在路由函数index()里使用用户Bean
5、启动应用,查看结果
三、Spring Boot项目访问静态资源
- 静态资源(css、images、scripts)都放在resources\static目录里。下面以图片为例说明静态资源的访问。
(一)准备图片资源
- 在static里创建images目录,拷贝一张图片 - pokemon.png
(二)在入口类里访问图片资源
- 修改路由函数index(),访问图片资源
(三)启动应用,查看结果
四、Spring Boot整合Thymeleaf
(一)Spring Boot支持的视图技术
- Spring Boot框架为简化项目的整体开发,对一些常用的视图技术实现了整合支持,并主要推荐整合模板引擎技术来实现前端页面的动态化内容。
(二)Thymeleaf基本语法
(三)实现简单登录页面
- Spring Boot先整合Thymeleaf,后面我们再整合Bootstrap
1、查看Thymeleaf起步依赖
2、在应用属性文件里配置Thymeleaf属性
- 我们可以根据实际需要修改Thymeleaf属性默认值
thymeleaf: #配置百里香叶模板
cache: false # 默认是true,开发阶段设置false
encoding: utf-8 #避免中文乱码
mode: HTML5 #可以使用HTML4.0.1
prefix: classpath:/templates/ # 模板位置也是可以修改的
suffix: .html #扩展名也是可以修改的