IDEA+Gradle搭建Spring Boot项目 |
您所在的位置:网站首页 › idea中配置springboot项目 › IDEA+Gradle搭建Spring Boot项目 |
IDEA和Gradle创建一个Spring boot项目并不复杂,但是在搭建的时候容易遇到一些小问题,会花费不少时间。 在此记录一下在搭建过程,为以后的项目能够借鉴使用 1. 下载&安装工具需要用到下面几个工具,请下载安装: Java JDK 1.8+ 两个地址选其一: 国内下载地址:https://oomake.com/download/java-jdk 官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html IntelliJ IDEA(使用Ultimate版本需自行处理License)Jetbrain官网下载地址:https://www.jetbrains.com/idea/download/ Gradle安装:https://docs.gradle.org/current/userguide/installation.html 2. IDEA创建项目1、打开 IDEA 2、菜单选择 File > New > Project... 3、然后选择Gradle和SDK版本,以及Java库,如下: 打开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 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 打开MichaelSpicaGradleApplication.java文件,右键选择 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |