使用Spring Boot搭建Java web项目及开发过程图文详解

下面我会为您详细讲解使用SpringBoot搭建JavaWeb项目及开发过程。本文将按照以下步骤详细展开:

  1. 环境准备及SpringBoot的简介
  2. 创建一个简单的SpringBoot项目
  3. 开发一个简单的RESTful接口
  4. 创建一个数据库,并通过MyBatis实现与之交互
  5. 使用Thymeleaf模板引擎开发前端页面
  6. 部署及运行项目

环境准备及SpringBoot的简介

在进行SpringBoot项目开发前,我们需要先配置好以下环境:

  1. Java 8及以上版本
  2. Maven
  3. IDE(建议使用IntelliJ IDEA或Eclipse)

SpringBoot是一个基于Spring框架的整合式快速开发框架,可以方便的搭建JavaWeb项目,同时还提供了很多功能强大的插件,使得开发更加高效、简洁。

创建一个简单的SpringBoot项目

  1. 打开IntelliJ IDEA,选择创建一个新的项目
  2. 选择Spring Initializr,点击Next
  3. 填写项目信息,选择需要的依赖(可以根据项目需求进行选择), 点击Next
  4. 选择项目存储路径,点击Finish

完成以上步骤后,您已经成功创建了一个SpringBoot项目。

开发一个简单的RESTful接口

  1. 在项目中创建一个Controller类,在类中添加一个对应的方法,并使用@RestController注解标记该类作为控制器,使用@RequestMapping注解标记该方法作为请求的入口。
  2. 针对当前访问路径的请求,进行相应的逻辑处理,并返回相应的数据。

示例代码如下:

@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实现与之交互

  1. 在项目中创建一个数据库连接,并新建一个数据库表。
  2. 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>
  1. application.properties中添加数据库配置信息。
  2. 创建对应的Mapper文件,并编写相应的SQL语句。同时,在Mapper接口中声明对应的SQL方法。
  3. 在Controller中注入Mapper接口,并调用相应的SQL方法进行数据库操作。

示例代码如下:

  1. 数据库表
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;
  1. User类
public class User {
    private Long id;
    private String name;
    private Integer age;
    // 省略getter、setter方法
}
  1. 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);

}
  1. 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模板引擎开发前端页面

  1. pom.xml中添加以下依赖:
<!-- Thymeleaf依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
  1. application.properties中配置对应的模板路径。
  2. 创建一个Controller类,在该类中编写返回前端页面的方法。
  3. templates文件夹下编写对应的模板文件,使用Thymeleaf语法进行渲染。

示例代码如下:

  1. 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";
    }
}
  1. 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语法进行模板渲染。

部署及运行项目

完成以上步骤后,我们就可以把项目部署到服务器上运行了。

  1. 修改application.properties中的端口号为80。(默认端口号为8080)
  2. 使用Maven打包项目并上传到服务器。
  3. 执行java -jar xxx.jar命令启动项目。

至此,我们已经完成了使用SpringBoot搭建JavaWeb项目及开发过程。希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Spring Boot搭建Java web项目及开发过程图文详解 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • 基于Ajax技术实现文件上传带进度条

    实现基于Ajax技术的文件上传带进度条,需要进行以下步骤: 1.引入jQuery和jQuery.form插件 在HTML文件中通过script标签引入jQuery和jQuery.form插件,可以通过CDN地址引入,也可以将文件下载到本地后引入。 示例: <script src="https://cdn.bootcdn.net/ajax/li…

    Java 2023年6月15日
    00
  • Java中实现获取路径的方法汇总

    Java中实现获取路径的方法可以使用多种方式,常用的有以下几种: 1. 使用Class.getResource(String path)方法获取资源路径 // 获取classpath下src/main/resources目录下的test.txt文件的URL对象 URL resourceUrl = getClass().getResource("/t…

    Java 2023年6月15日
    00
  • JSP 从配置文件获取参数详解

    JSP 从配置文件获取参数是 Web 开发中常见的一种需求,通过配置文件可以方便的修改参数,而不需要修改代码,所以也是一种很好的实践方式。下面是从配置文件获取参数的详细攻略。 步骤1:创建配置文件 首先需要创建一个配置文件,一般命名为config.properties,该文件中存储了需要获取的参数及其对应的值。 举个例子,如果我们需要从配置文件中获取数据库连…

    Java 2023年6月15日
    00
  • SpringBoot使用token简单鉴权的具体实现方法

    一、Token简单鉴权的原理 Token鉴权是一种前后端分离的权限验证方式,具体的原理如下: 用户登录时请求后端API,后端验证用户名和密码是否正确,如果正确,将返回一个Token给前端。 前端将Token保存在本地(通常是localStorage或sessionStorage),后续请求时需要将Token附带在请求头中发送给后端。 后端验证请求头中的Tok…

    Java 2023年5月20日
    00
  • Java中获取子字符串的几种方法示例

    关于Java中获取子字符串的几种方法,其实有很多种,下面我来逐一讲解。 String类的substring方法 String类的substring方法可以用于截取字符串中的一部分,包含起始位置但不包含结尾位置。方法的签名如下: public String substring(int beginIndex, int endIndex) 其中,beginInde…

    Java 2023年5月27日
    00
  • 如何使用Java运行期注解?

    准备工作: 在本地电脑上安装Java开发环境,确保可以运行Java程序。 Step 1:定义注解 在Java中,定义注解需要使用@interface关键字,如下所示: public @interface MyAnnotation { String value(); } 其中,@interface是用来声明一个注解的关键字,MyAnnotation是注解的名称…

    Java 2023年5月11日
    00
  • java实现的DES加密算法详解

    Java实现的DES加密算法详解 什么是DES加密算法 DES加密算法是一种对称密钥算法,全称为“Data Encryption Standard”,是美国IBM公司于1975年研制的一种对称密钥加密算法。DES算法的原理非常简单,就是将明文经过一系列置换和替换操作,最终被加密成密文。而解密过程就是将密文经过相应的操作,最终得到明文。 DES算法具有如下特点…

    Java 2023年5月19日
    00
  • Spring boot配置多数据源代码实例

    Spring Boot具有很强的扩展性和灵活性,可以轻松地实现多数据源的配置。下面我将分享一个完整的“Spring Boot配置多数据源代码实例”的攻略,步骤如下: 1.在pom.xml中添加如下配置: <dependency> <groupId>org.springframework.boot</groupId> &lt…

    Java 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部