IDEA+Gradle搭建Spring Boot项目

IDEA和Gradle创建一个Spring boot项目并不复杂,但是在搭建的时候容易遇到一些小问题,会花费不少时间。 在此记录一下在搭建过程,为以后的项目能够借鉴使用

1. 下载&安装工具

需要用到下面几个工具,请下载安装:

  1. Java JDK 1.8+ 两个地址选其一:
    国内下载地址:https://oomake.com/download/java-jdk
    官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

  2. IntelliJ IDEA(使用Ultimate版本需自行处理LicenseJetbrain官网下载地址:https://www.jetbrains.com/idea/download/

  3. Gradle安装:https://docs.gradle.org/current/userguide/installation.html

2. IDEA创建项目

1、打开 IDEA
2、菜单选择 File > New > Project...
3、然后选择GradleSDK版本,以及Java库,如下:
创建Gradle项目
4、输入GroupIdArtifactId,这两个是为保证项目唯一性存在的,GroupId一般与域名对应,ArtifactId则是项目名称,这里我们写的是一个演示功能,设置如下:
在这里插入图片描述
5、接下来的界面直接点Next,不需要配置
在这里插入图片描述
这样我们就创建完项目了,IDEA帮我们自动创建了2个文件:build.gradlesettings.gradle;接下来还需要一些配置

3. 配置&依赖

3.1 build.gradle配置

打开build.gradle文件,自动生成的内容为:

plugins {
    id 'java'
}

group 'michael.spica.gradle'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}

test {
    useJUnitPlatform()
}

需要添加一些内容,添加后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')// 加载插件,用到里面的函数方法
    }
}

// 插件
//plugins {
//    id 'java'
//}

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 {
    // 添加 jupiter 测试的依赖
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    // 添加 jupiter 测试的依赖
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'

    // 添加 spring-boot-starter-web 的依赖 必须 排除了security 根据自身需求
    implementation('org.springframework.boot:spring-boot-starter-web') {
        exclude group: 'org.springframework.security', module: 'spring-security-config'
    }

    // 添加 spring-boot-starter-test 该依赖对于编译测试是必须的,默认包含编译产品依赖和编译时依赖
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    // 添加 junit 测试的依赖
    testImplementation group: 'junit', name: 'junit', version: '4.11'
    // 添加 lombok
    annotationProcessor 'org.projectlombok:lombok:1.18.22' // annotationProcessor代表main下代码的注解执行器
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.22'// testAnnotationProcessor代表test下代码的注解执行器
    compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.22' // compile代表编译时使用的lombok
}

// 第二种排除依赖方法
//configurations {
//    compile.exclude group:"org.codehaus.jackson", module:"jackson-mapper-asl" // 排除依赖
//}

test {
    useJUnitPlatform()
}

保存文件,IDEA提示下载依赖,选择自动下载。

3.2 gradle-wrapper.properties(版本管理)

若发现gradle版本问题,可以修改此文件,提升gradle版本;项目默认为:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

修改后

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

更改distributionUrl,将版本更换为gradle-7.2-bin

4. 编写源文件

1、在项目中新建目录 src/main/java(这是java默认可以识别的目录)
2、点选新建的 java 目录,右键选择 New > Package 新建一个包,包名:michael.spica.gradle
3、在michael.spica.gradle包下面创建一个入口文件:MichaelSpicaGradleApplication.java,内容:

package michael.spica.gradle;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.core.env.Environment;

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by michael on 2020/04/28.
 */
@Slf4j
@SpringBootApplication
public class MichaelSpicaGradleApplication {

    private static final String SPRING_PROFILE_DEFAULT = "spring.profiles.default";

    /**
     * dev:开发、qa:测试、pre:预发、prod:生产;为空则默认读取“application.yml”
     */
    private static final String PROFILE = "";

    private static void addDefaultProfile(SpringApplication app) {
        Map<String, Object> defProperties = new HashMap();
        defProperties.put(SPRING_PROFILE_DEFAULT, PROFILE);
        app.setDefaultProperties(defProperties);
    }

    private static String[] getActiveProfiles(Environment env) {
        String[] profiles = env.getActiveProfiles();
        return profiles.length == 0 ? env.getDefaultProfiles() : profiles;
    }

    public static void main(String[] args) {

        SpringApplication app = new SpringApplication(MichaelSpicaGradleApplication.class);
        addDefaultProfile(app);

        Environment env = app.run(args).getEnvironment();
        String applicationName = env.getProperty("spring.application.name");
        String serverPort = env.getProperty("server.port");
        String configServerStatus = env.getProperty("spring.profiles.active");

        try {
            String hostAddress = InetAddress.getLocalHost().getHostAddress();

            log.info("\n---------------------------------------------------------------------------------\n\t" +
                            "Application '{}' is running! Access URLs:\n\t" +
                            "Local: \t\thttp://localhost:{}\n\t" +
                            "External: \thttp://{}:{}\n---------------------------------------------------------------------------------",
                    applicationName,
                    serverPort,
                    hostAddress, serverPort);

            log.info("\n---------------------------------------------------------------------------------\n\t" +
                            "Config Server: \t{}\n---------------------------------------------------------------------------------",
                    configServerStatus == null ? "Not found or not setup for this application" : configServerStatus);

        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}

4、再在michael.spica.gradle包下创建一个目录,名称:HelloController,这里主要用来放控制器。
5、在controller目录下创建一个 HelloController.java 控制器文件,内容:

package michael.spica.gradle.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by michael on 2020/04/28.
 */
@RestController
@RequestMapping("/hello")
public class HelloController {

    @GetMapping("/welcome")
    public  String welcome() {
        return "Hello Word";
    }
}

5、运行&测试

5.1 用Gradle命令启动

gradle bootrun

在这里插入图片描述

5.2 IDEA启动

打开MichaelSpicaGradleApplication.java文件,右键选择
在这里插入图片描述
在通过浏览器访问http://192.168.2.157:8989/hello/welcome,就看到效果了
在这里插入图片描述
至此,项目搭建完成~~

  • 12
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 在将一个Idea项目转化成Spring Boot项目时,首先需要了解IdeaSpring Boot的基本概念和工作原理。 Idea是一种集成开发环境(IDE),它提供了丰富的开发工具和插件,适用于多种编程语言和技术。而Spring Boot是一个基于Spring框架的开发框架,它简化了Spring应用程序的搭建和部署,提供了自动化配置和快速开发的特性。 将一个Idea项目转化成Spring Boot项目的关键步骤如下: 1. 配置项目:在Idea中创建一个新的Spring Boot项目,可以选择通过Spring Initializr进行初始化,或者手动添加Spring Boot相关依赖。 2. 导入代码:将原有的Idea项目代码导入到新的Spring Boot项目中。可以直接将原有的代码复制粘贴到新项目的对应位置,然后进行适当的修改和调整。 3. 配置依赖:在新项目的配置文件中添加相关的依赖项,例如数据库、缓存、日志等。可以使用Spring Boot的自动化配置功能,简化配置过程。 4. 修改代码:根据Spring Boot的特性,对原有的代码进行相应的修改。例如,使用注解来替代原有的配置文件,使用自动化配置来简化代码逻辑,使用Spring Boot提供的工具类和组件来增强项目的功能。 5. 测试和部署:使用Spring Boot的内嵌服务器,例如Tomcat或Jetty,进行项目的本地测试和部署。可以使用Idea提供的工具进行一键式的测试和部署操作,快速验证项目的正确性。 通过以上步骤,就可以将一个Idea项目成功转化成Spring Boot项目。转化过程中需要注意保留原有的功能和逻辑,并根据Spring Boot的特性进行相应的调整和优化,以满足项目的需求和要求。 ### 回答2: 将idea项目转化成Spring Boot可以按照以下步骤来进行: 1. 首先,确保你的IDE中已经安装了Spring Boot插件,如Spring Tool Suite或IntelliJ IDEA。 2. 在IDE中创建一个新的Spring Boot项目。可以选择创建一个空的Spring Boot项目或者使用Spring Initializr来生成一个基本项目结构。Spring Initializr可以提供一些预设的配置选项,如依赖管理、数据库等。 3. 在创建好的项目中,将原本的Idea项目中的代码和资源文件复制到对应的位置。例如,将Java代码复制到src/main/java目录下,将静态资源文件复制到src/main/resources目录下。 4. 如果原来的Idea项目中使用了一些外部库或框架,那么需要将这些依赖添加到新的Spring Boot项目的配置文件中,如pom.xml或build.gradle。可以使用Maven或Gradle管理项目依赖。 5. 根据原来的Idea项目的运行逻辑,修改或添加Spring Boot的配置文件,如application.properties或application.yml。这些配置文件可以配置Spring Boot的一些参数,如端口号、数据库连接等。 6. 根据原来的Idea项目的功能和需求,可以将原来的代码进行相应的重构和修改,以适应Spring Boot的框架。可以使用Spring Boot的注解和依赖注入等特性简化代码,提高效率。 7. 最后,运行Spring Boot项目,确保项目可以正常启动并运行。可以在浏览器中访问相应的URL,验证功能是否正常。 通过以上步骤,你可以将原来的Idea项目成功转化成Spring Boot项目,同时可以借助Spring Boot的强大功能和框架来提升项目的开发效率和性能。 ### 回答3: 首先,将idea项目转化为Spring Boot项目需要进行一些准备工作。首先,确保你的idea项目已经使用了Maven或者Gradle来管理依赖和构建。如果没有,你需要将项目迁移到Maven或Gradle进行管理。接下来,你需要确保你的项目有一个合适的项目结构,包含MVC、Service等模块。 接下来的步骤是根据Spring Boot的规范和约定,对项目进行一些改进。首先,你需要创建一个Spring Boot的主启动类,通过注解@SpringBootApplication来标识这是一个Spring Boot应用程序。在主启动类中,你需要配置一些基本的信息,如应用程序的名称、端口号等。 接下来,你需要对原来的代码进行一些改造,将原有的配置文件改为Spring Boot的配置方式。Spring Boot使用application.properties或者application.yml来进行配置,你可以根据你的喜好选择其中一种方式。在配置文件中,你可以设置数据库的连接、日志等一些基本的配置。 然后,你需要根据Spring Boot的规范,对原有的代码进行包装,以符合Spring Boot的风格和体系。例如,对于数据库操作,你可以使用Spring Data JPA来简化代码;对于Web开发,你可以使用Spring MVC来处理请求和响应。 最后,你可以进行一些额外的配置和优化,如添加Spring Boot的插件、调整项目的日志输出、设置全局异常处理等。这些都可以根据项目的需要灵活调整。 总结来说,将idea项目转化为Spring Boot项目需要进行一些准备工作,对项目进行改造和包装,符合Spring Boot的规范和要求,最后根据项目的需要进行一些额外的配置和优化。这样,你就可以将idea项目成功转化为Spring Boot项目了。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值