前言
最近在學(xué)習(xí)Spring Boot,特開一個系列來記錄學(xué)習(xí)過程中遇到的坑。俗語講深入淺出,深入我水平尚有限,恐難以做到,故且叫做淺出Spring Boot吧
本位為該系列第一篇文章,用于構(gòu)建一個簡易的Hello World
原文見個人博客
目錄
- Hellowrold及基本概念
- 代碼組織及CRUD
工具及相關(guān)環(huán)境
- Intellij JDEA
- JDK
- Gradle
Helloworld
Intellij IDEA中新建一個Gradle工程,并購選Java和Web,后面都是一些常規(guī)項目,填寫GroupId等,不在贅述。
初始項目目錄結(jié)構(gòu)如下:

我們在src/main目錄下添加java、resources兩個目錄,分別用于存放我們的源代碼以及配置信息等。
build.gradle
這是一個官方教程中的一個build文件,這里直接用即可。
plugins {
id 'org.springframework.boot' version '1.5.2.RELEASE'
id 'java'
}
jar {
baseName = 'bookstore'
version = '0.0.1-SNAPSHOT'
}
repositories {
jcenter()
}
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
配置完成后,點擊Gradle面板左上角藍色圖標,即可自動下載相關(guān)包。

Application
在src/main/java目錄下新建Application.java文件:
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import java.util.Arrays;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
return args -> {
System.out.println("Let's inspect the beans provided by Spring Boot:");
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.println(beanName);
}
};
}
}
再添加HelloworldController.java:
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}
到這里,一個簡單的Restful 風格的微服務(wù)就完成了。
Run
打開Gradle的面板,雙擊圖中的bootRun即可將項目運行起來。

也可以通過在build.gradle文件同目錄下運行gradle bootRun命令。
這時訪問http://localhost:8080/即可看到運行結(jié)果:
Package
通過雙擊Gradle面板中的build->build,或者運行'gradle build'命令,即可將項目打包成jar文件,文件位于./build/libs/[baseName+version].jar。這個就可以用于部署到測試或者生產(chǎn)環(huán)境了。
基本流程大致如此。
基本概念以及碰到的坑
Spring Boot極大的簡化了java開發(fā)時需要的一大堆配置文件,按照預(yù)定高于配置的理念,盡量做到開箱即用,所以用于微服務(wù)的構(gòu)建相比也是極好的。
通過與Spring Cloud、Docker配合使用,可以搭建相對完善的微服務(wù)體系。
爬坑
- 創(chuàng)建的Gradle項目,默認會在
build.gradle文件中添加group、version內(nèi)容,這些是需要去掉的,否則在運行時會由于configure error而無法啟動 - 通過雙擊
bootRun方式運行spring boot時,最后會一直停留在上圖所示的狀態(tài),但其實程序已經(jīng)運行起來了??梢酝ㄟ^localhost訪問到。 - 就