目的

我们将在Ubuntu桌面系统下,使用VS Code(Visual Studio Code)编辑器从零开始创建一个Spring Boot工程,并实现一个简单的RESTful风格接口。使用这套流程的好处是我们不用将精力或金钱花费在各种需要授权的系统或软件上。

这篇文章不是长篇大论的具体教程,只是梳理下完成目标任务所需的步骤。比较简单的步骤我会给出操作方法或代码,而需要花时间学习(也就几分钟)的步骤我尽量给出官方参考页面。

最终所创建的工程可以在我的Github页面找到:springboot-demo

环境需要

  • Linux桌面发行版,我用的是Ubuntu 20.04.3 LTS,若你使用其他发行版本,也许只在VS Code、JDK等软件的安装方法上有些差别,但这些在以下的参考链接中几乎都有所覆盖。
  • 支持Java的VS Code环境
  • 给VS Code安装扩展:Spring Boot Extension Pack
  • JDK11或者更新版本(本文参考链接里给出的是oracle发布的JDK,也可以自行安装其他开源的JDK版本,如Zulu11-jdk
  • 可选,版本管理工具,安装GIT,若已有则忽略。

创建一个新工程

  • 在Terminal中键入code打开一个VS Code界面
  • 创建一个SpringBoot工程
    • 方法1:在VSC界面的Walkthroughts区域选择Getting Started with Spring Boot in VS Code -> Create a new Spring Boot project -> 选择版本、语言、java版本、项目名、依赖、存储目录等等。
    • 方法2:按组合键Ctrl+Shift+P,在命令窗口,输入 Spring 选择创建 Maven 项目,后续步骤类似。
  • 创建好后稍等一会,等下载完依赖就可以在左侧的JAVA PROJECT列表查看项目结构了。

调试&运行

同样,有多种方法可以进行工程的调试运行,这里使用左侧SPRING BOOT DASHBOARD面板,选中项目名,点击 Start 或者 Debug 按钮即可开始运行或调试该工程。

当然这里写的比较简单,如何设置环境变量、运行环境以及调试时的断点设置以后具体写写。

写一个RESTful接口

可以根据上面官方的向导写一个GreetingController。这里与官方示例有一点不同的是我使用lombok依赖提供的注解构造了一个GreetingModel类,来简化写法。使用@Data注解可以使你的类里的属性自动生成set和get方法,更详细注解使用方法就不赘述了。

@Data
@AllArgsConstructor
public class GreetingModel { private final long id;
private final String content;
}

遇到的问题

完成本文内容我遇到了些小坑,这里记录下

  • 使用@Data等lombok注解无效,可能是你的VSCode没有装这个扩展:Lombok Annotations Support for VS Code

本文参考

Building a Guide with VS Code

Building a RESTful Web Service

VsCode搭建Java开发环境(Spring Boot项目创建、运行、调试)

@Data无效的解决方法

Ubuntu下使用VS Code创建Spring Boot工程的更多相关文章

  1. 基于VS Code创建Spring Boot项目开发REST API(一)

    公司从.NET转向Java不仅仅是简单的代码变成Java,趁此机会对原有的架构和代码重构,融入新的概念和技术.目前通过前后端分离,将后端更多的微服务化.从.NET转向Java我们更多的是用Java开发 ...

  2. 创建Spring Boot 工程

    先在eclipse中安装spring -tool -suite插件,然后根据以下步骤可以创建   1.新建Spring Starter Project 2.Packaging 选择 jar 3.勾选W ...

  3. MAC系统下用Idea创建spring boot工程 基于maven

    1.创建项目 打开idea编辑器,选择file  -> new -> project 点击next 依次填入group,artifact 填写完成之后再点击“next” 根据自己的需求在最 ...

  4. 在eclipse下,用Maven创建Spring MVC工程

    参考链接:https://www.cnblogs.com/yangyxd/p/5955630.html 1.打开Eclipse,Ctrl + N  创建Maven

  5. Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式

    我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有 ...

  6. Spring Boot入门(一):使用IDEA创建Spring Boot项目并使用yaml配置文件

    由于公司最近在做技术转型(从.Net转Java),因此自己也开启了学习Java之路.学习Java怎么能不学习这几年这么火的Spring Boot框架,由于自己有总结的习惯,因此会把学习的过程以博客的形 ...

  7. 学习创建spring boot

    一.什么是spring boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开 ...

  8. IDEA 创建Spring Boot 项目

    一.准备环境 配置Maven,打开设置页面File - Setting,快捷键Ctrl + Alt + S,找到Maven,默认是IDEA 自带的插件,User setting file 配置文件默认 ...

  9. 创建Spring Boot项目的几种方式总结

    一.我们可以使用Spring Initializr来创建SpringBoot项目. Spring Initializr从本质上来说就是一个Web应用程序,它能为你生成Spring Boot项目结构.虽 ...

随机推荐

  1. 对ORM的理解

    1. 在面试中可能会问到这个问题,什么是ORM? ORM是对象关系映射(Object Relational Mapping),简称ORM,或O/RM,或O/R mapping,是一种程序技术. 白话理 ...

  2. CF289B Polo the Penguin and Matrix 题解

    Content 有一个 \(n\times m\) 的矩阵 \(A\),每次操作你可以将某一个元素增加或减少 \(d\),求是所有元素相等的最小操作次数,或者不存在这样的操作方案. 数据范围:\(1\ ...

  3. 常用DBhelper封装方法

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  4. Linux(debian7)操作基础(四)之CPU频率调整 Linux系统CPU频率调整工具使用

    在Linux中,内核的开发者定义了一套框架模型来完成CPU频率动态调整这一目的,它就是CPU Freq系统.如下为CPU的几种模式(governor参数): ondemand:系统默认的超频模式,按需 ...

  5. 雨课堂自动切换PPT代码

    浏览器运行js步骤 原仓库 Podium = {}; Podium.keydown = function(k) { var oEvent = document.createEvent('Keyboar ...

  6. cmake引入第三方库的debug和release版本之Windows版本

    概述 本文将介绍cmak引入第三方库debug和release不同配置. Windows上,习惯将debug模式下生成的动态库名后缀添加D 以作和release区分.cmake创建一个项目A,A引入动 ...

  7. 【LeetCode】1037. Valid Boomerang 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 中学数学题 日期 题目地址:https://leet ...

  8. 【LeetCode】87. Scramble String 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 动态规划 日期 题目地址:https://le ...

  9. 【剑指Offer】数组中只出现一次的数字 解题报告(Python)

    [剑指Offer]数组中只出现一次的数字 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-intervie ...

  10. 【LeetCode】814. Binary Tree Pruning 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 后序遍历 日期 题目地址:https://leetc ...