Mephisto

个人站

欢迎来到我的个人站~


Spring Boot学习记录(一)

前言

由于公司业务需要,自己也有学习后台开发的兴趣爱好,所以从今年开始的时候自己慢慢的会学习一些后台相关的知识,主要就是学习 Spring Boot,该系列的教程一个是为了记录自己在学习过程中踩得坑,一个是对自己在学习中的知识整理,如果能帮到更多的人就更好了,下面,开始自己的学习之旅吧

工具环境

  • 开发 IDE:IDEA 2019
  • 运行环境:Java1.8
  • 系统: MacOS 10.14.4

Helloworld

国际惯例,我们开始写一个helloworld工程(笑),主要有两种创建工程的方法

使用 SpringBoot官网下载空白工程:

进入 Spring 的创建网站:https://start.spring.io/,如下图所示:

填好相关参数后直接点击Generate Project按钮就可以下载官网为我们生成的 Spring Boot项目了,然后使用IDEA 导入即可

使用 IDEA 直接创建(推荐)

个人感觉直接使用 IDEA 创建 Spring Boot 工程更加的方便,因此非常推荐使用该方法创建,创建方法如下图所示:

没有什么难度,一路 Next就可以了,需要主要的是要记得在倒数第二张图上如图所示勾选 Web组件,工程创建好以后我们可以先来看一下其中的 pom.xml文件有些啥,文件内容如下:

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.mephisto</groupId>
    <artifactId>helloworld</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>helloworld</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

我们可以看到,pom.xml文件非常的简洁,仅仅集成了一个web组件与test的测试组件,其他的就没有了,其他的内部依赖 Spring Boot 已经自动的为我们集成好了,我们也不需要关心,现在我们只要用心写业务代码(搬砖)就好了。

​ 然后,我们打开项目的启动文件:HelloworldApplication,为了方便起见就不再重新创建控制器了,直接在该文件中写我们的 helloworld 就好了,该文件代码如下:

package com.mephisto.helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

//注意:需要添加改注解,不然会报页面未找到的错误
@RestController
@SpringBootApplication
public class HelloworldApplication {
  
  	@RequestMapping("/")
		String index() {
			return "hello Spring Boot";
		}

    public static void main(String[] args) {
        SpringApplication.run(HelloworldApplication.class, args);
    }

}

写好后直接买点击右上角的运行按钮运行工程,如图:

然后打开浏览器,输入:http://localhost:8080/,就可以看到结果了:

到此,我们的 helloworld 就写完了 ,可能你会很好奇,我们并没有安装 Tomcat,但工程却自己跑起来了,我们并没有手动集成日志框架,但是项目启动的时候却输出了详细的日志,如果有兴趣,你可以点开pom.xml文件中的spring-boot-starter-web依赖,就很容易找到相关的子依赖,如下:

....
		<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <version>2.1.4.RELEASE</version>
      <scope>compile</scope>
    </dependency>
....

可以看到SpringBoot 已经为我们内置了 Tomcat,日志系统也一样,默认集成的是 logback, 等等,比起当初为了写个helloworld 需要手动集成配置一大堆依赖的 ssm 工程,Spring Boot 无意要友好很多。

IDEA插件推荐

俗话说:”工欲做其事必先利其器”,好的插件和工具可以大幅提高我们的开发效率,所以我觉得需要将自己认为比较好的插件推荐记录一下,IDEA 的插件安装很简单,点击Preferences->Plugins就可以安装插件了,如图:

功能类插件推荐:

  • 首先推荐的插件是Alibaba Java Coding Guidelines:该插件是阿里巴巴根据《阿里巴巴 Java 开发规约》开发的代码扫描插件,可以让我们书写出更加健壮,规范的 java 代码,具体使用请自行 google 或者百度。
  • 其次是IdeaVim: vim 党必备
  • Free MyBatis plugin:MyBatis插件,可以方便的在 dao文件与mappers文件中跳转,具体特性可见:https://github.com/rockjava/intellij-mybatis-plugin
  • Lombok:需要配合Lombok 的依赖使用,以后用的的时候会再介绍

视觉类插件推荐:

  • CodeGlance:可以生成代码导航,如图:

  • Rainbow Brackets: 给括号增加颜色,如图:

当然还有很多好用的插件,但自己经常使用的插件就这几个,再次安利一波。

最近的文章

Spring Boot学习记录(二)

Spring Boot 与 swagger​ 网上关于swagger 有着很多的介绍与使用帮助,因此本文将不会花费太多的笔墨去介绍swagger 是什么,它有什么好处,我们只需要知道swagger 可以为我们提供一个动态的可视化文档,所见即所得的更新我们的 API,并提供详细使用文档的一个工具就好了。Spring Boot 集成 swagger在项目的pom.xml文件中导入 swagger 的相关依赖: <!--swagger --> <dependency>...…

java继续阅读
更早的文章

iOS 开发小技巧记录

Xcode 相关前段时间,swift5 的 ABI终于稳定了,为此自己升级了自己的 mac 系统,和最新的 Xcode,期间又久违的对 Xcode 进行了一遍配置,为了方便以后,暂记录一下用到的东西。Xcode 代码块路径Xcode 代码块的路径,每次更新代码块的时候都需要重新上网查一遍,太麻烦,所以记录一下~/library/developer/xcode/userdata/codeSnippetsXcode 使用 Vim:可以快速提高工作效率的神器,但是由于 Xcode8以后苹果就不在...…

iOS继续阅读