使用springboot新建一个后端项目

本文详细介绍使用SpringBoot创建后端项目的全过程,包括环境搭建、依赖配置、接口编写及数据库操作等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用springboot新建一个后端项目

1.需要准备的工具:

IDEA
Mysql数据库
Navicat12
PostMan

2.操作步骤

(1)首先根据需求文档设计数据库

具体如何设计暂不讨论

(2)根据设计好的数据库创建数据库

MySQL数据库的安装可参考教程 ==》传送门

MySQL安装完成后,要使用到Navicat进行可视化建表,当然也可使用命令行建表,具体如何创建暂不讨论。

(3)使用IDEA配置springboot

在这里插入图片描述
在新建项目时在左边选择Spring Initializr
在这里插入图片描述
这一步需要修改一下包名,以及Java version,不能高于8;其余的基本保持不变即可

在这里插入图片描述

这一步中需要按需选择,根据项目特性选择需要的功能,也可以选择springboot的版本

后面改好包名后继续next,然后finish即可

(4)添加依赖

在这里插入图片描述
项目建好后会产生一个pom.xml文件,在这里面添加需要的依赖

<dependencies>
  	
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.1</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

    <dependency>
        <groupId>net.sf.json-lib</groupId>
        <artifactId>json-lib</artifactId>
        <version>2.4</version>
        <classifier>jdk15</classifier>
    </dependency>
    
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>19.0</version>
    </dependency>
    
    <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-provider-api</artifactId>
        <version>3.3.1</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.2.1</version>
    </dependency>

    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>

</dependencies>

修改了配置文件要记得再左下角Import Changes

接下来需要新建文件目录
在这里插入图片描述
切记启动类要和controller,dao,entity,service在同一个目录下,否则会出现扫描不到其他几个文件夹的情况

另外,在新建的application.yml中添加配置

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true
    username: 你的数据库用户名
    password: 你的数据库密码

mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.program.facesigninsystem.entity

  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
(5)编写第一个接口

这里我们以用户登录示例
1.首先在entity中创建一个类,用来表示用户信息

package com.program.facesigninsystem.entity;

import org.springframework.stereotype.Service;

@Service
public class UserInfo {
    public String uid;
    public String account;
    public String name;
    public int type;
    public String academy;
    public String university;
    public String major;

    public void setUid(String uid) {
        this.uid = uid;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setType(int type) {
        this.type = type;
    }

    public void setAcademy(String academy) {
        this.academy = academy;
    }

    public void setUniversity(String university) {
        this.university = university;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    public String getUid() {
        return uid;
    }

    public String getAccount() {
        return account;
    }

    public String getName() {
        return name;
    }

    public int getType() {
        return type;
    }

    public String getAcademy() {
        return academy;
    }

    public String getUniversity() {
        return university;
    }

    public String getMajor() {
        return major;
    }

}

里面的属性是根据数据库的字段编写的,方法一般情况下只用setter和getter即可

2.在dao中创建一个接口,以对前端参数进行数据处理

package com.program.facesigninsystem.dao;

import com.program.facesigninsystem.entity.UserInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface IUserInfoDao {
    UserInfo loginUser(@Param("account") String account);
}

3.在service下创建一个接口,里面定义登录方法

package com.program.facesigninsystem.service;

import com.program.facesigninsystem.entity.UserInfo;

public interface IUserInfoService {
    UserInfo loginUser(String account);
}

4.在service-impl中创建一个类,去实现service接口中的方法

package com.program.facesigninsystem.service.impl;

import com.program.facesigninsystem.dao.IUserInfoDao;
import com.program.facesigninsystem.entity.UserInfo;
import com.program.facesigninsystem.service.IUserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserInfoService implements IUserInfoService {
    @Autowired
    private IUserInfoDao iUserInfoDao;

    @Override
    public UserInfo loginUser(String account){
        UserInfo userInfo = iUserInfoDao.loginUser(account);
        return userInfo;
    }
}

5.在controller中创建一个类,用来连接前后端

package com.program.facesigninsystem.controller;

import com.program.facesigninsystem.entity.UserInfo;
import com.program.facesigninsystem.service.IUserInfoService;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

@CrossOrigin
@RestController
@RequestMapping(value = "/auth")
public class UserController {
    @Autowired
    IUserInfoService iUserInfoService;
    @RequestMapping(value = "/login",method = RequestMethod.POST)
    private Map loginUser(@RequestBody JSONObject account){
        Map map = new HashMap();
        UserInfo userInfo = iUserInfoService.loginUser(account.get("account").toString());
        if(userInfo!=null) {
            map.put("code", 200);
            map.put("data",userInfo);
        }
        else{
            map.put("code", 201);
            map.put("message","没有该用户!");
        }
        return map;
    }
}

6.在resources-mapper下创建一个UserMapper.xml文件,以编写数据库操作

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DID Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.program.facesigninsystem.dao.IUserInfoDao">
    <resultMap id="BaseResultMap" type="com.program.facesigninsystem.entity.UserInfo">
    </resultMap>
    <select id="loginUser" resultMap="BaseResultMap" parameterType="com.program.facesigninsystem.entity.UserInfo">
        SELECT  * from user where account=#{account} limit 0,1
    </select>
</mapper>

7.最后,连接数据库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来只需要开始运行项目就可以啦

在这里插入图片描述
如果在控制台看到如下信息
在这里插入图片描述
则说明启动成功,项目运行在localhost:8080
接下来使用postman对接口进行测试

在这里插入图片描述
数据获取成功!

至此,使用springboot创建新项目并编写第一个接口就成功了,后续将会加上更多相关内容

附,后端解决跨域问题的配置

CorsConfig.java

package com.program.facesigninsystem;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
@EnableWebMvc
public class CorsConfig implements WebMvcConfigurer {

    public void addCorsMappings(CorsRegistry registry) {
        //设置允许跨域的路径
        registry.addMapping("/**")
                //设置允许跨域请求的域名
                .allowedOrigins("*")
                //这里:是否允许证书 不再默认开启
                .allowCredentials(true)
                //设置允许的方法
                .allowedMethods("*")
                //跨域允许时间
                .maxAge(3600);
    }

}
### 创建新的Spring Boot后端项目 #### 使用 IntelliJ IDEA 2019 创建 Spring Boot 项目的具体方法如下: 选择 **File | New | Project** 菜单选项来启动新建项目向导。在弹出窗口中,选择左侧列表里的 **Spring Initializr** 来初始化基于 Spring 的新应用程序[^3]。 输入必要的项目元数据信息,比如 Group 和 Artifact ID 字段用于定义 Maven 坐标的唯一标识符;Name 是项目的名称,默认情况下会自动填充 Artifact ID 的值;Description 描述字段可以为空白或者简单描述此项目的用途;Package name 应该遵循 Java 包命名约定并通常与 Group 字段相匹配。 当所有必填项都填写完毕之后,点击 Next 继续前进到下一步配置页面,在这里可以选择要使用的语言版本(Java/Kotlin/Scala)、Spring Boot 版本以及其他一些高级设置。对于大多数开发者来说,默认的选择就足够了。如果遇到任何兼容性问题,则可能需要调整这些参数以适应特定需求[^1]。 完成上述步骤后,将会进入模块依赖选择界面。勾选所需的 Starter Dependencies 复选框以便快速引入常用的库文件和支持特性,例如 Web 支持、JPA 数据访问层集成等。这一步骤简化了手动编辑 `pom.xml` 或者 `build.gradle` 文件的过程,使得初学者更容易上手。 最后确认无误便可以直接按下 Finish 键结束整个流程,等待 IDE 自动处理剩余的任务——下载所需资源包并将它们正确关联至工程结构之中。此时应该可以在左侧导航栏看到刚刚建立好的目录树形图表示形式下的项目框架概览。 ```bash # 如果遇到编译错误提示关于无效的源发行版, # 可能是因为缺少测试框架支持造成的。 # 解决方案是在 pom.xml 中加入 JUnit5.4 依赖: <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.4.0</version> <scope>test</scope> </dependency> # 接着右键点击 jupiter 并选择 add JUnit5.4 to classpath 下载依赖[^4]. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值