文章目录
提示:以下是本篇文章正文内容,下面案例可供参考,idea的版本为2022年的
一、创建SpringBoot项目
根据红色箭头所示,进行选择,完成后点击Next
提示:我这里使用了阿里云代理,用idea的配置工具有些问题,如果按下列操作后,java文件夹是蓝色的,可无视这里。
勾选好后,点击Create
如果出现这种情况,则再尝试创建一次,直至如下图所示
二、测试
1.建立好文件夹
springboot不是什么新的技术,他是在spring的基础上发展而来的,所以他也分为controller,service,dao,pojo等等
2.建立一个Person的实体类
代码如下(示例):
package com.example.springboot4.pojo;
import lombok.Data;
@Data
public class Person {
private int id;
private int age;
private String name;
}
Data注解可创建setget方法
3.建立一个TestController类
我们用这个TsetController类请求一个person,实体类都是json返回,springboot默认支持json返回。
ResponseBody将controller的方法返回的对象通过适当的转换器转换为指定的格式之后, 写入到response对象的body区,通常用来返回JSON数据或者是XML数据。
@Controller
public class TestController {
@RequestMapping("getperson")
@ResponseBody
public Person getperson() {
Person person = new Person();
person.setId(1);
person.setAge(20);
person.setName("testName123");
return person;
}
}
4.运行
springboot项目内嵌tomcat,所以他可以直接如下图所示运行,
提示:运行前,一定要注意该加的注解是否已经加了
三、热更新
热更新的意思是,当你改动代码或resources文件夹下后,页面通过刷新即可获得更新,不用重新启动,但更改端口或者加入依赖后需要重新启动
操作如下:
完成后,点击ok即可
四、thymeleaf介绍
1.静态资源的访问
我们可在这里进行相关配置
这里我们配置静态文件夹,可访问templates下的资源,也可访问C:/Users/yim/Picture下的资源
spring.resources.static-locations=classpath:/templates,file:C:/Users/yim/Pictures
我们可在浏览器中直接输入文件的名称进行访问静态资源
也可以以接口的形式转发资源,在TestController类中写下如下代码
@RequestMapping("getpng")
public String getpng() {
return "1.jpg";
}
}
注意:templates文件夹中要有对应的资源
它还可以转发文本,音视频,jsp文件不可,因为浏览器不认识它,而html可以访问和解析。
2.jsp资源的访问
在springboot中我们不再使用jsp页面,而在 <div>${name}</div> 中的${name}作为el表达式,属于jsp的代码,HTML不认识它。为此,我们可以引入thymeleaf依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
用如下所示的代码代替上述代码
<div th:text="${name}"></div>
五、thymeleaf的应用
1.列表标签
在TestController类中写入下述代码
@RequestMapping("getpng")
public String getpng(Model model) {
model.addAttribute("name", "testName");
List<Person> personList = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Person person = new Person();
person.setId(1);
person.setAge(20);
person.setName("testName" + i);
personList.add(person);
}
model.addAttribute("personList", personList);
return "test.html";
}
}
在对应的test.html文件中 写入下述代码
可得到下图所示结果
2.链接表达式
在TestController类中写入下述代码
@RequestMapping("login")
public String login(){
return "login.html";
}
}
建立一个login.html,在test.html文件中加入下述代码
<!--@表示当前路径-->
<a th:href="@{/login}">登陆页面</a>
可得到
3.表单
在TestController类中写入下述代码
@RequestMapping("logincommit")
public String logincommit(String username,String password){
if(username.equals("admin") && password.equals("123456")){
return "success.html";
}
return "failure.html";
}
}
login.html文件如下所示
再建立success.html和failure.html,运行可得