Spring Boot 系列分享一[搭建基本应用]
1. 环境说明
- 开发工具: idea
- 构建工具: gradle
- springboot版本: 2.0.1
- jdk版本: 1.8
2. 新建项目
在idea中新建gradle项目,填写GroupId和ArtifactId后下一步。然后使用默认设置再下一步。
3. 新建module
**
然后也是填写信息,下一步就建好了。此处新建了一个luck-web模块。
4. 配置build.gradle
先配置主目录下的build.gradle
// gradle脚本资源配置
buildscript {
// 脚本资源搜索仓库
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
jcenter()
mavenCentral()
}
// 插件依赖
dependencies {
classpath('io.spring.gradle:dependency-management-plugin:1.0.6.RELEASE')
}
}
// 全局配置
allprojects {
group = 'com.github.nan'
version = '1.0.0-SNAPSHOT'
// 声明常量, spring-boot版本
ext {
SPRING_BOOT_VERSION = '2.0.1.RELEASE'
}
// 项目所需的资源搜索仓库
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
jcenter()
mavenCentral()
mavenLocal()
/*
// 配置私服
maven {
url '****'
credentials {
username '****'
password '****'
}
}
*/
}
}
// 子模块配置
subprojects {
// 使用java插件
apply plugin: 'java'
// 使用spring的依赖管理插件
apply plugin: 'io.spring.dependency-management'
// 配置java编码和jdk版本号
compileJava.options.encoding = "UTF-8"
compileTestJava.options.encoding = "UTF-8"
sourceCompatibility = 1.8
// 子模块脚本资源配置
buildscript {
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
jcenter()
mavenCentral()
}
}
}
然后配置子模块下[luck-web]的build.gradle
buildscript {
dependencies {
// 使用spring-boot-gradle-plugin
classpath("org.springframework.boot:spring-boot-gradle-plugin:${SPRING_BOOT_VERSION}")
}
}
apply plugin: 'org.springframework.boot'
dependencies {
// spring-boot
compile("org.springframework.boot:spring-boot-starter-web:${SPRING_BOOT_VERSION}")
testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: SPRING_BOOT_VERSION
}
都配置好后,在idea弹出框中点击import change更新配置。或者点击右侧栏里gradle的刷新按钮
点击之后会自动进行相关依赖下载
5. 配置application.yml
子模块luck-web的resources下新建application.yml
spring:
http:
encoding:
charset: UTF-8
force: true
enabled: true
messages:
encoding: UTF-8
jackson:
default-property-inclusion: non_null
date-format: yyyy-MM-dd HH:mm:ss
server:
port: 8080
tomcat:
uri-encoding: utf-8
# 10M
max-http-post-size: 10240000
# 开启gzip压缩
compression:
enabled: true
mime-types: application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain,text/javascript,image/png,image/jpeg,image/jpg
min-response-size: 2048
6. 创建启动类
package com.github.nan.web;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author nan
* @version 1.0
* @date 11:25 2019/7/1
*/
@SpringBootApplication(scanBasePackages = "com.github.nan")
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
}
7. 创建controller
package com.github.nan.web.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @author nan
* @version 1.0
* @date 11:28 2019/7/1
*/
@RestController
public class HelloController {
@RequestMapping(value = "/luck/", method = RequestMethod.GET)
public String helloWorld() {
return "hello world, welcome to spring boot";
}
}
8. 测试服务
启动应用程序
打开浏览器,访问http://localhost:8080/luck/ 即可看到输出
hello world, welcome to spring boot
9. gitignore配置
如果建立了git仓库,注意添加.gitignore文件。
# Created by .ignore support plugin (hsz.mobi)
### Java template
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.iml
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# 注意加以下三行
.idea
.gradle
!/gradle/wrapper/gradle-wrapper.jar
10. 关闭gradle代理运行
idea配置。如下图,不要勾选build/run代理给gradle。运行test时使用平台的Runner。
否则可能会出一些奇怪的问题。