使用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日

相关文章

  • 五、读取HTTP请求头

    读取HTTP请求头是Web开发中非常重要的一步,因为HTTP请求头中包含了客户端(浏览器)访问我们网站时所发送的各种信息,如浏览器类型、语言、操作系统等,了解这些信息对于开发人员而言是非常必要的。下面以 Node.js 为例,讲解读取HTTP请求头的完整攻略。 一、获取HTTP请求头 在Node.js中,可以通过request.headers获取HTTP请求…

    Java 2023年6月15日
    00
  • Spring Boot 入门之消息中间件的使用

    消息中间件是一种常用的分布式系统解决方案,可以帮助不同的应用程序之间进行异步通信。在Spring Boot中,可以使用Spring Boot提供的集成库来方便地使用消息中间件。在本文中,我们将详细讲解Spring Boot入门之消息中间件的使用,并提供两个示例来演示如何使用消息中间件。 Spring Boot入门之消息中间件的使用 以下是使用消息中间件的基本…

    Java 2023年5月15日
    00
  • Kafka中消息队列的两种模式讲解

    Kafka中消息队列的两种模式讲解 Apache Kafka是一个开源的分布式流处理平台,其主要功能是异步处理、发布和订阅消息。在Kafka中,消息队列的模式分为两种:点对点模式和发布/订阅模式。 点对点模式 点对点模式通常用于一个消息只能被一个消费者消费的场景,即一条消息只会被消费一次。这种模式中,消息被发送到Kafka中的一个队列中,在队列中等待消费者来…

    Java 2023年5月20日
    00
  • 详解Java如何实现自定义注解

    下面我将为您详细讲解“详解Java如何实现自定义注解”的完整攻略。 什么是自定义注解 在 Java 编程中,注解是一种非常强大且常用的功能,用于给代码添加元数据。同时,Java 也给开发人员提供了自定义注解的机制,可以让我们更加灵活的使用注解。 自定义注解是一种以 @interface 关键字来定义的抽象注解类型,可以使用元注解来修饰自定义注解。相比于内置注…

    Java 2023年5月26日
    00
  • JVM调优的方法有哪些?

    JVM调优是保障应用性能的重中之重。它可以通过不同的方法来优化JVM,提升应用的性能。下面是JVM调优的方法。 JVM调优方法 优化JVM的参数设置 JVM的性能与调优参数密不可分。参数的设置可以通过启动时传递参数、修改配置文件、通过代码调用等方式。常用的参数设置包括: -Xms和-Xmx: 设置Java堆的最小和最大值 -XX:MaxPermSize: 设…

    Java 2023年5月10日
    00
  • java实现水果超市管理系统

    Java实现水果超市管理系统完整攻略 1. 系统需求分析 在开始开发前,需要先明确本系统的具体需求。本系统是一款水果超市管理系统,主要分为以下几个功能模块: 商品管理:包括添加商品、修改商品、删除商品、查询商品等功能。 订单管理:包括添加订单、修改订单、删除订单、查询订单等功能。 用户管理:包括添加用户、修改用户、删除用户、查询用户等功能。 登陆注册:对用户…

    Java 2023年5月31日
    00
  • 什么是对象的销毁过程?

    对象的销毁过程 在程序执行过程中,申请的对象在使用完后需要及时销毁,以避免不必要的资源浪费和内存泄漏。对象的销毁在不同的编程语言中有不同的实现方式,但一般都遵循以下几个过程: 调用析构函数:如果对象有析构函数,那么在销毁对象的时候会自动调用析构函数进行资源的释放和清理工作。析构函数一般用于释放对象占用的内存、关闭文件、释放锁等操作。 回收内存:当程序不再需要…

    Java 2023年5月10日
    00
  • uni-app实现NFC读取功能

    下面就是“uni-app实现NFC读取功能”的完整攻略: 一、环境准备 在开始之前,你需要确保自己已经完成了以下环境的准备: 确保你的手机支持NFC功能,并且已经打开了NFC开关; 确认你有一张可以进行NFC读取的NFC标签或者NFC设备; 安装好最新版的uni-app开发环境,并且在manifest.json文件中添加nfc功能的权限声明。 二、读取NFC…

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