创建SpringBoot 项目

111 阅读2分钟

创建gradle构建的空项目

在IntelliJ IDEA 中点击 文件 -> 新建 -> 项目

在左边点击新建项目,填写名称,位置。

语言选择Java,构建系统选择Gradle

image.png image.png

如果会构建失败,那是因为gradle下载出问题,具体问题可能是网络问题,那是因为gradle镜像是在国外, 我把gradld配置添加在百度网盘上自行下载;

提取码: yagv

把下载好的文件解压,在项目下建一个gradle的文件夹,放入文件夹,点击构建,等待一会儿就会构建成功。

image.png

配置build.gradle

点击项目下的build.gradle,按照下方配置所需的内容(不过多介绍,因为有的我自己也不懂),然后点击构建

 // gradle 自身需求资源库 放头部
    buildscript {
        repositories {
            maven { url 'https://maven.aliyun.com/repository/public' }// 加载其他Maven仓库
            mavenCentral()
        }
        dependencies {
            classpath('org.springframework.boot:spring-boot-gradle-plugin:2.1.1.RELEASE')// 加载插件,用到里面的函数方法
        }
    }

    apply plugin: 'java'
    apply plugin: 'idea'
    // 使用spring boot 框架
    apply plugin: 'org.springframework.boot'
    // 使用spring boot的自动依赖管理
    apply plugin: 'io.spring.dependency-management'

    // 版本信息
    group 'michael.spica.gradle'
    version '1.0-SNAPSHOT'

    // 执行项目中所使用的的资源仓库
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        mavenCentral()
    }

    // 项目中需要的依赖
    dependencies {
            // lombok
            implementation 'org.projectlombok:lombok:1.18.28'
            annotationProcessor 'org.projectlombok:lombok:1.18.28'

        // spring 基本框架
        implementation "org.springframework.boot:spring-boot-starter:2.6.0"
        implementation "org.springframework.boot:spring-boot-starter-test:2.6.0"
        implementation "org.springframework.boot:spring-boot-starter-web:2.6.0"

        // 数据库
        implementation "mysql:mysql-connector-java:8.0.28"
        implementation "org.springframework.boot:spring-boot-starter-data-jpa:2.6.0"
        // 验证器
        implementation "org.springframework.boot:spring-boot-starter-validation:2.6.0"
        // aop
        implementation "org.springframework.boot:spring-boot-starter-aop:2.6.0"

        // querydsl
        // spring-boot-data 写死了版本号, 这里需要手动改一下 core 的版本 https://cloud.tencent.com/developer/ask/sof/898303
        implementation 'com.querydsl:querydsl-jpa:5.0.0'
        implementation 'com.querydsl:querydsl-core:5.0.0'
        annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jpa'
        annotationProcessor "org.springframework.boot:spring-boot-starter-data-jpa:2.6.0"

        // jjwt
        implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
        implementation 'io.jsonwebtoken:jjwt-impl:0.11.5'
        implementation 'io.jsonwebtoken:jjwt-jackson:0.11.5'
        implementation 'com.auth0:java-jwt:3.10.3'

        // https://mvnrepository.com/artifact/com.google.code.gson/gson
        implementation group: 'com.google.code.gson', name: 'gson', version: '2.10'

        // spring security
        implementation "org.springframework.boot:spring-boot-starter-security:2.6.0"

        testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.0'
        testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.0'
        //测试
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
        testImplementation group: 'org.powermock', name: 'powermock-api-mockito2', version: '2.0.9'
    }
    
    test {
        useJUnitPlatform()
    }

配置springboot

在项目目录下的src/mian/java下的包删除掉,添加自己的包名,并创建一个叫Application的类,并添加如下。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@SpringBootApplication(scanBasePackages = "cn.jenson")
@EnableJpaRepositories(basePackages = {"cn.jenson"})
@EntityScan("cn.jenson")
public class TemplateApplication {
    public static void main(String[] args){
        SpringApplication.run(TemplateApplication.class,args);
    }
}

注意:

  • 引号里面的内容与你包名相同

并与java同同一目录下创建resources的目录

image.png

在此目录中添加一个叫application.yml的配置文件

我们对以后的jar包进行动态处理,所以以环境变量的形式写入配置文件,具体如下

    #服务配置
    server:
      port: ${SERVER_PORT:8888}
      max-http-header-size: 20480

    spring:
      servlet:
        multipart:
          max-file-size: 10MB
          max-request-size: 100MB
      #数据库配置
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        username: ${DB_USER:root}
        password: ${DB_PASSWORD:123456}
        url: jdbc:mysql://${HOST:localhost}:${PORT:3306}/${DB_NAME:jenson-template}?characterEncoding=utf-8&amp&serverTimezone=UTC&amp&allowPublicKeyRetrieval=true&useSSL=false
      #JPA配置
      jpa:
        hibernate:
          ddl-auto: ${JPA_DDL:update}

    ##################################自定义属性#####################################
    encoder:
      secret: ${AES_SECRET:fsdafdsfsdfsdf}

    system:
      jwt:
        expires: ${JWT_EXPIRES:72000}
        secret: ${JWT_SECRET:fsafdsggeewrfege8tgdfsfdspkmknughbf}
      domain: ${SYSTEM_DOMAIN:qiyue_mes}
    upload:
      path: ${UPLOAD_PATH:C:/UploadFile/}

DB_USER : 数据库登录名

DB_PASSWORD : 数据库密码

HOST : 数据库地址

PORT : 数据库端口

DB_NAME :数据库名称

SERVER_PORT : 项目端口

JPA_DDL : JPA 的配置

试运行

在 Application 类中点击启动项,若能启动,说明启动启动就好了; 访问 http://localhost:端口 就能看到springboot 启动项目成功了