下面我会为您详细讲解使用SpringBoot搭建JavaWeb项目及开发过程。本文将按照以下步骤详细展开:
- 环境准备及SpringBoot的简介
- 创建一个简单的SpringBoot项目
- 开发一个简单的RESTful接口
- 创建一个数据库,并通过MyBatis实现与之交互
- 使用Thymeleaf模板引擎开发前端页面
- 部署及运行项目
环境准备及SpringBoot的简介
在进行SpringBoot项目开发前,我们需要先配置好以下环境:
- Java 8及以上版本
- Maven
- IDE(建议使用IntelliJ IDEA或Eclipse)
SpringBoot是一个基于Spring框架的整合式快速开发框架,可以方便的搭建JavaWeb项目,同时还提供了很多功能强大的插件,使得开发更加高效、简洁。
创建一个简单的SpringBoot项目
- 打开IntelliJ IDEA,选择创建一个新的项目
- 选择Spring Initializr,点击Next
- 填写项目信息,选择需要的依赖(可以根据项目需求进行选择), 点击Next
- 选择项目存储路径,点击Finish
完成以上步骤后,您已经成功创建了一个SpringBoot项目。
开发一个简单的RESTful接口
- 在项目中创建一个Controller类,在类中添加一个对应的方法,并使用
@RestController
注解标记该类作为控制器,使用@RequestMapping
注解标记该方法作为请求的入口。 - 针对当前访问路径的请求,进行相应的逻辑处理,并返回相应的数据。
示例代码如下:
@RestController
@RequestMapping("/api")
public class UserController {
@GetMapping("/user")
public User getUser() {
User user = new User();
user.setId(1L);
user.setName("张三");
user.setAge(18);
return user;
}
}
在该示例中,我们创建了一个UserController
类,并使用了@RestController
注解标记该类作为控制器。同时,我们在该类中创建了一个getUser()
方法,并使用了@GetMapping
注解标记该方法作为该路径的GET请求入口。该方法返回一个包含用户信息的User对象。
创建一个数据库,并通过MyBatis实现与之交互
- 在项目中创建一个数据库连接,并新建一个数据库表。
- 在
pom.xml
中添加以下依赖:
<!-- 数据库连接依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- MyBatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
- 在
application.properties
中添加数据库配置信息。 - 创建对应的Mapper文件,并编写相应的SQL语句。同时,在Mapper接口中声明对应的SQL方法。
- 在Controller中注入Mapper接口,并调用相应的SQL方法进行数据库操作。
示例代码如下:
- 数据库表
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- User类
public class User {
private Long id;
private String name;
private Integer age;
// 省略getter、setter方法
}
- UserMapper接口
@Mapper
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User findById(@Param("id") Long id);
@Select("SELECT * FROM users")
List<User> findAll();
@Insert("INSERT INTO users(name, age) VALUES(#{name}, #{age})")
void save(User user);
@Update("UPDATE users SET name=#{name}, age=#{age} WHERE id=#{id}")
void update(User user);
@Delete("DELETE FROM users WHERE id=#{id}")
void delete(Long id);
}
- UserController类
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/user/{id}")
public User getUser(@PathVariable Long id) {
return userMapper.findById(id);
}
@PostMapping("/user")
public String addUser(@RequestParam String name, @RequestParam Integer age) {
User user = new User();
user.setName(name);
user.setAge(age);
userMapper.save(user);
return "success";
}
@PutMapping("/user")
public String updateUser(@RequestBody User user) {
userMapper.update(user);
return "success";
}
@DeleteMapping("/user/{id}")
public String deleteUser(@PathVariable Long id) {
userMapper.delete(id);
return "success";
}
}
在该示例中,我们使用了MyBatis框架与数据库进行交互。通过在Mapper接口中声明相应的SQL方法,可以方便的进行数据库操作。同时,在Controller中注入Mapper的对象,并调用相应方法进行数据库操作。
使用Thymeleaf模板引擎开发前端页面
- 在
pom.xml
中添加以下依赖:
<!-- Thymeleaf依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
- 在
application.properties
中配置对应的模板路径。 - 创建一个Controller类,在该类中编写返回前端页面的方法。
- 在
templates
文件夹下编写对应的模板文件,使用Thymeleaf语法进行渲染。
示例代码如下:
- UserController类
@Controller
public class UserController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/users")
public String users(Model model) {
List<User> userList = userMapper.findAll();
model.addAttribute("userList", userList);
return "users";
}
}
users.html
模板文件
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>用户列表</title>
</head>
<body>
<h2>用户列表</h2>
<table border="1" cellpadding="5">
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${userList}">
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${user.age}"></td>
<td>
<a th:href="@{/user/update/{id}(id=${user.id})}">编辑</a>
<a th:href="@{/user/delete/{id}(id=${user.id})}" onclick="return confirm('确认删除该用户吗?');">删除</a>
</td>
</tr>
</tbody>
</table>
</body>
</html>
在该示例中,我们使用了Thymeleaf模板引擎渲染了一个用户列表页面。通过在Controller类中编写返回前端页面的方法,并在模板文件中使用Thymeleaf语法进行模板渲染。
部署及运行项目
完成以上步骤后,我们就可以把项目部署到服务器上运行了。
- 修改
application.properties
中的端口号为80。(默认端口号为8080) - 使用Maven打包项目并上传到服务器。
- 执行
java -jar xxx.jar
命令启动项目。
至此,我们已经完成了使用SpringBoot搭建JavaWeb项目及开发过程。希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Spring Boot搭建Java web项目及开发过程图文详解 - Python技术站