使用maven快速搭建SpringBoot的SSM项目(上)

简介: 使用maven快速搭建SpringBoot的SSM项目

文档说明

开发步骤

创建一个名为demo-user的maven项目,如下图:

pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.xiaohh</groupId>
    <artifactId>demo-user</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
</project>

当我们来到我们本次讲解的版本的官方文档,可以看到更详细的讲解,来到Getting StartedCreating the POM可以看到我们的maven需要继承一个父项目,代码为

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.9.RELEASE</version>
</parent>

将其粘贴到项目中:

注意要刷新maven项目,然后我们来到爷爷辈的maven父项目可以看到很多的starter

需要注意SpringBoot之所以能够快速搭建项目,其原理还是使用starter快速导包和SpringBoot的快速配置,其中SpringMVC的starter如下,导入这个starter即可导入web相关的所有依赖:

依赖代码:

<!-- SpringMVC 相关的依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

可以看出我们导入了MVC相关jar包(记得刷新maven项目,下面操作不在提醒,请自觉刷新)

然后我们建立一个启动类 com.xiaohh.user.UserApplication,代码如下:

package com.xiaohh.user;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * <p>
 * SpringBoot 项目的启动类
 * </p>
 *
 * @author XiaoHH
 * @version 1.0
 * @date 2021-02-22 星期一 19:00:40
 * @file UserApplication.java
 */
@SpringBootApplication
public class UserApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class);
    }
}

然后我们再建立一个 application.yml 在resources中,代码如下:

server:
  port: 80 # 设置端口号为 80
  servlet:
    context-path: /user # 设置一下访问项目的上下文

然后我们编写一个测试用的 Controller 试一下是否搭建成功

package com.xiaohh.user.controllers;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 测试使用的 controller
 * </p>
 *
 * @author XiaoHH
 * @version 1.0
 * @date 2021-02-22 星期一 19:05:19
 * @file TestController.java
 */
@RestController
@RequestMapping("/v1/test")
public class TestController {
    @GetMapping
    public String hello() {
        return "hello";
    }
}

接下来我们启动一下启动类,控制台看到如下界面表示启动成功

接下来我们访问一下这个 Controller 看一下是否成功,可以看到访问是没有问题的

然后我们再来创建对应的数据库:

SET NAMES `UTF8`;
DROP DATABASE IF EXISTS `demo_user`;
CREATE DATABASE `demo_user`;
USE `demo_user`;
-- 创建用户表
CREATE TABLE `user` (
    `id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '用户 ID',
    `username` VARCHAR(20) NOT NULL COMMENT '用户名',
    `password` VARCHAR(20) NOT NULL COMMENT '密码',
    `birthday` DATE COMMENT '出生日期'
);

和对应的实体类

package com.xiaohh.user.entities;
import lombok.*;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
 * <p>
 * 对应数据库中的 user 表
 * </p>
 *
 * @author XiaoHH
 * @version 1.0
 * @date 2021-02-22 星期一 19:23:56
 * @file User.java
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Accessors(chain = true)
public class User implements Serializable {
    /**
     * 用户 ID
     */
    private Long id;
    /**
     * 用户名
     */
    private String username;
    /**
     * 密码
     */
    private String password;
    /**
     * 出生日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd") // 前端传过来的数据格式
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") // 我们传给前端的数据格式
    private Date birthday;
    /**
     * 计算年龄
     *
     * @return 年龄
     */
    public int getAge() {
        if (this.birthday == null) return 0;
        // 现在的日期
        Date now = new Date();
        // 初始计算年龄
        int age = now.getYear() - this.birthday.getYear();
        // 设置成同年份然后进行比较
        now.setYear(this.birthday.getYear());
        // 将时间设置成当天的 0:00:00.000
        now.setTime(now.getTime() - (now.getTime() % (1000 * 60 * 60 * 24)) - 1000 * 60 * 60 * 8);
        // this.birthday.setTime(this.birthday.getTime() - (this.birthday.getTime() % (1000 * 60 * 60 * 24)) - 1000 * 60 * 60 * 8);
        /*
        this.birthday.compareTo(now);
        如果 birthday 比 now 大,则返回1,如果小返回-1(代表生日还没过),相等则返回0
         */
        age += this.birthday.compareTo(now);
        return age;
    }
}

注意添加lombok相关依赖

<!-- Lombok 相关依赖 -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>


相关文章
|
20天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
31 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
1月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
110 8
|
1月前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
78 3
|
2月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
157 1
Maven——创建 Spring Boot项目
|
2月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
43 1
如何使用 maven 创建一个 Spring Boot项目
|
2月前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
78 1
|
2月前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
142 2
|
4月前
|
Java 数据库连接 Maven
手把手教你如何搭建SSM框架、图书商城系统案例
这篇文章是关于如何搭建SSM框架以及实现一个图书商城系统的详细教程,包括了项目的配置文件整合、依赖管理、项目结构和运行效果展示,并提供了GitHub源码链接。
手把手教你如何搭建SSM框架、图书商城系统案例
|
3月前
|
Java 应用服务中间件 数据库连接
ssm项目整合,简单的用户管理系统
文章介绍了一个使用SSM框架(Spring、SpringMVC、MyBatis)构建的简单用户管理系统的整合过程,包括项目搭建、数据库配置、各层代码实现以及视图展示。
ssm项目整合,简单的用户管理系统
|
3月前
|
XML Java 数据库连接
如何搭建SSM框架、图书商城系统
这是一份详尽的《Spring + SpringMVC + Mybatis 整合指南》,作者耗时良久整理出约五万字的内容,现已经全部笔记公开。此文档详细地介绍了如何搭建与整合SSM框架,具体步骤包括创建Maven项目、添加web骨架、配置pom文件以及整合Spring、SpringMVC和Mybatis等。无论是对初学者还是有一定基础的开发者来说,都是很好的学习资源。此外,作者还提供了项目源码的GitHub链接,方便读者实践。虽然当前主流推荐学习SpringBoot,但了解SSM框架仍然是不可或缺的基础。
47 0

推荐镜像

更多