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

相关文章

  • 什么是 JIT 编译器?

    以下是关于JIT编译器的完整使用攻略: 什么是JIT编译器? JIT(Just-In-Time)编译器是一种在程序运行时将字节码编译成本地机器码的编译器。JIT编译器可以提高程序的执行速度,因为它可以将热点代码(即经常执行的代码)编译成本地机器码,从而避免了每次执行时都需要解释字节码的开销。 JIT编译器的优点 JIT编译器有以下优点: 提高程序的执行速度:…

    Java 2023年5月12日
    00
  • Spring MVC实现的登录拦截器代码分享

    以下是关于“Spring MVC实现的登录拦截器代码分享”的完整攻略,其中包含两个示例。 1. 前言 Spring MVC是一种常用的Java Web开发框架,它提供了一种灵活的方式来开发Web应用程序。在Spring MVC中,拦截器是一种常用的技术,用于拦截HTTP请求并进行处理。本攻略将详细讲解Spring MVC的登录拦截器实现。 2. 登录拦截器实…

    Java 2023年5月16日
    00
  • 日期与时间【Date/SimpleDateFormat/Calendar】

    视频链接:https://www.bilibili.com/video/BV1Cv411372m?p=121&vd_source=9140dcc493e34a9f4e95ca2f8f71bbd3 1 Data 1.1 Date类概述 Date类的对象在java中代表的是当前所在系统的此刻日期时间。 Date的构造器 public Date():创建一…

    Java 2023年5月6日
    00
  • spring security数据库表结构实例代码

    针对你的问题,我将提供一个完整的攻略来讲解“spring security数据库表结构实例代码”,以下是详细步骤: 1. 规划数据库表结构 首先,需要规划出数据库表结构,这是非常关键的一步。在spring security中,需要创建以下几张表: users(用户表) authorities(角色表) groups(组表) group_authorities…

    Java 2023年5月20日
    00
  • MyBatis的通俗理解:SqlSession.getMapper()源码解读

    下面是“MyBatis的通俗理解:SqlSession.getMapper()源码解读”的完整攻略。 一、背景介绍 在MyBatis中,SqlSession.getMapper()方法是一个非常重要的方法,可以获取到Mapper接口的代理对象,从而进行数据库操作。但是,为什么可以用一个接口进行数据库操作呢?这就需要了解一下MyBatis的动态代理机制。 二、…

    Java 2023年5月20日
    00
  • java数据库连接池新手入门一篇就够了,太简单了!

    下面是关于“java数据库连接池新手入门”的完整攻略,共分为以下几个部分: 1. 关于数据库连接池 在使用Java进行数据库操作的时候,为了避免频繁的数据库连接和关闭操作,我们需要使用到数据库连接池。数据库连接池是一种管理数据库连接的机制,把多个数据库连接放入池中,按照固定的管理策略对多个连接进行统一管理。 使用数据库连接池的好处在于:- 节省了数据库打开和…

    Java 2023年5月19日
    00
  • tomcat6_apache2.2_ajp 负载均衡加集群实战分享

    Tomcat6、Apache2.2、AJP 负载均衡加集群实战分享 一、引言 本文将介绍如何使用Tomcat6、Apache2.2和AJP实现负载均衡加集群,并提供了两个示例进行演示。本文假设读者已经熟悉Linux基础知识,并且已经安装了Tomcat6和Apache2.2。 二、负载均衡加集群 2.1 集群模式 为了实现负载均衡加集群,我们需要将多个Tomc…

    Java 2023年5月19日
    00
  • Java 定时器(Timer,TimerTask)详解及实例代码

    Java 定时器(Timer,TimerTask)详解及实例代码 什么是定时器 在 Java 中,我们可以使用定时器(Timer)来实现一些定时任务,比如定时执行某个任务或者在一定时间后自动执行某个操作。 在 Java 中,我们可以通过 Timer 类来创建一个定时器对象,然后通过 TimerTask 类来创建一个定时任务对象,最后调用定时器对象的 sche…

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