浅出Spring Boot系列(一)Helloword及基本概念

前言

最近在学习Spring Boot,特开一个系列来记录学习过程中遇到的坑。俗语讲深入浅出深入我水平尚有限,恐难以做到,故且叫做浅出Spring Boot

本位为该系列第一篇文章,用于构建一个简易的Hello World

原文见个人博客

目录

工具及相关环境

  • Intellij JDEA
  • JDK
  • Gradle

Helloworld

Intellij IDEA中新建一个Gradle工程,并购选JavaWeb,后面都是一些常规项目,填写GroupId等,不在赘述。

初始项目目录结构如下:

目录结构

我们在src/main目录下添加javaresources两个目录,分别用于存放我们的源代码以及配置信息等。

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 CloudDocker配合使用,可以搭建相对完善的微服务体系。

爬坑

  • 创建的Gradle项目,默认会在build.gradle文件中添加groupversion内容,这些是需要去掉的,否则在运行时会由于configure error而无法启动
  • 通过双击bootRun方式运行spring boot时,最后会一直停留在上图所示的状态,但其实程序已经运行起来了。可以通过localhost访问到。

参考稳定

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容