前言
最近在学习Spring Boot
,特开一个系列来记录学习过程中遇到的坑。俗语讲深入浅出
,深入
我水平尚有限,恐难以做到,故且叫做浅出Spring Boot
吧
本位为该系列第一篇文章,用于构建一个简易的Hello World
原文见个人博客
目录
- Hellowrold及基本概念
- 代码组织及CRUD
工具及相关环境
- Intellij JDEA
- JDK
- Gradle
Helloworld
Intellij IDEA中新建一个Gradle
工程,并购选Java
和Web
,后面都是一些常规项目,填写GroupId
等,不在赘述。
初始项目目录结构如下:
我们在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
面板左上角蓝色图标,即可自动下载相关包。
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 风格的微服务就完成了。
Run
打开Gradle
的面板,双击图中的bootRun
即可将项目运行起来。
也可以通过在build.gradle
文件同目录下运行gradle bootRun
命令。
这时访问http://localhost:8080/
即可看到运行结果:
Package
通过双击Gradle
面板中的build->build
,或者运行'gradle build'命令,即可将项目打包成jar
文件,文件位于./build/libs/[baseName+version].jar
。这个就可以用于部署到测试或者生产环境了。
基本流程大致如此。
基本概念以及碰到的坑
Spring Boot
极大的简化了java开发时需要的一大堆配置文件,按照预定高于配置的理念,尽量做到开箱即用,所以用于微服务的构建相比也是极好的。
通过与Spring Cloud
、Docker
配合使用,可以搭建相对完善的微服务体系。
爬坑
- 创建的Gradle项目,默认会在
build.gradle
文件中添加group
、version
内容,这些是需要去掉的,否则在运行时会由于configure error而无法启动 - 通过双击
bootRun
方式运行spring boot时,最后会一直停留在上图所示的状态,但其实程序已经运行起来了。可以通过localhost
访问到。 - 就