美文网首页
搭建自己的spring boot项目

搭建自己的spring boot项目

作者: _茂 | 来源:发表于2020-09-10 10:24 被阅读0次

    一、背景

    本文章属于系列文章,背景请前往系列入口文章
    本篇介绍如何上手搭建一个基于spring boot的项目

    二、spring boot

    1. spring boot是什么?

    spring boot可以快速搭建一个可配置、可运行的后端web项目,从繁杂的xml配置,到基于注解、自动扫描,很大地 方便了开发者的工作。(如果有点历史的人,应该知道web.xml配置controller、dispatcher的年代,哈哈)

    2. 上手

    2.1 官网下载
    image.png
    进入官网,按照图片顺序,下载基础代码。

    2.2 运行

    2.2.1 打开项目

    完成上面的步骤后,会下载一个包,以项目的方式打开(这里我用的是idea开发工具)
    (若打开项目失败,可以尝试直接打开根目录下的build.gradle文件,idea会自动识别成gradle项目)

    2.2.2 点击运行
    image.png
    2.2.3 运行成功
    image.png

    2.3 添加依赖

    将build.gradle修改为:

    plugins {
        id 'org.springframework.boot' version '2.3.3.RELEASE'
        id 'io.spring.dependency-management' version '1.0.10.RELEASE'
        id 'java'
    //  id "org.flywaydb.flyway" version "6.5.5"
    }
    
    group = 'com.mark'
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = '11'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compileOnly 'org.projectlombok:lombok'
        annotationProcessor 'org.projectlombok:lombok'
        implementation 'org.springframework.boot:spring-boot-starter-web'
        testImplementation('org.springframework.boot:spring-boot-starter-test') {
            exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
        }
        implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
        runtime('mysql:mysql-connector-java') //JDBC依赖库
    }
    
    test {
        useJUnitPlatform()
    }
    

    其中,lombok是一个插件,jpa 和 mysql 是用来处理数据库连接的。
    接下来,我们要连接数据库,希望可以对数据库进行增删改查,对外暴露rest接口

    2.4 数据库准备

    2.4.1 遇到的错误

    我这里用了mysql,最开始用本地对mysql,并且设置了密码跳过功能(也就是每次登录mysql,只需要给用户名root,不用密码),导致出现了一下错误:

    Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
    

    具体原因还没有研究,但是为了简单的刻意练习,建议不要设置成密码跳过,而是用docker的方式

    2.4.2 docker启动mysql

    docker 不是本文重点,请自行安装。
    需要先安装docker,再拉镜像,接着运行。这里给出 mysql镜像地址

    • 拉镜像:docker pull mysql
    • 运行:docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=password -d -p 3309:3306 mysql:5.7
    • 进入镜像系统:docker exec -it some-mysql bash
    • 在镜像里面进入mysql:mysql,如图:
      image.png

    2.5 数据库连接配置

    准备好数据库后,我们需要把项目和数据库进行连接,做CRUD时,会走这个数据库。

    2.5.1 配置src/main/resources/application.properties文件如下:
    spring.datasource.url=jdbc:mysql://127.0.0.1:3309/supermarket
    spring.datasource.username=root
    spring.datasource.password=password
    

    2.6 准备数据库数据

    在刚刚docker启动的容器中(mysql>处),执行以下命令(这里我们创建了一个数据库supermarket,并且新建了item表,这个表的id是自增的)

    CREATE DATABASE `supermarket` /*!40100 DEFAULT CHARACTER SET utf8 */
    
    # 在supermarket中建表
    CREATE TABLE `item` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `price` double unsigned NOT NULL DEFAULT '0',
      `name` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    
    # 可以在 item 中自定义两条数据,请自行执行insert into指令
    

    至此,所有的准备工作都已完毕,接下来可以进行接口的开发。接口的开发主要是利用注解、jpa、controller、repository、entity等,具体请自行分析github项目代码的first分支。

    若拷贝完代码,打开http://localhost:8080/,效果如下图:

    image.png

    其余item的增删改查接口(github的代码可用),可供读者调试使用(如postman)。


    image.png

    (完)

    相关文章

      网友评论

          本文标题:搭建自己的spring boot项目

          本文链接:https://www.haomeiwen.com/subject/rweyektx.html