目的

我们将在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. Nginx中配置反向代理的proxy_pass的不同斜杠的区别

    location /api1/ { proxy_pass http://localhost:8080; } # http://localhost/api1/xxx -> http://local ...

  2. 【LeetCode】404. Sum of Left Leaves 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目大意 题目大意 解题方法 递归 迭代 日期 [LeetCode] 题目地址:h ...

  3. 【LeetCode】671. Second Minimum Node In a Binary Tree 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 找出所有值再求次小值 遍历时求次小值 日期 题目地址 ...

  4. 【LeetCode】781. Rabbits in Forest 解题报告(Python & C++)

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

  5. 【LeetCode】722. Remove Comments 解题报告(Python)

    [LeetCode]722. Remove Comments 解题报告(Python) 标签: LeetCode 题目地址:https://leetcode.com/problems/remove-c ...

  6. 15 - Vue3 UI Framework - 完工部署

    项目官网也基本完成了,接下来我们再讲一下如何将项目官网部署到 GitHub Pages 上 返回阅读列表点击 这里 项目配置 常见的模式有三种,即 History 模式 Hash 模式 Memory ...

  7. anaconda 命令小览

    一 查看conda环境中安装了什么库: conda list 参考文献: 怎么查看anaconda安装了什么库?-Python学习网

  8. python语法糖之有参装饰器、无参装饰器

    python的装饰器简单来说就是函数的一种形式,是为了扩展原来的函数功能而设计的. 装饰器的特别之处在于它的返回值也是一个函数,可以在不改变原有函数代码的基础上添加新的功能 # 先定义一个函数及引用# ...

  9. Java线程安全MAP ,LIST ,SET

    ConcurrentHashMap是线程安全的HashMap, CopyOnWriteArrayList是线程安全的ArrayList CopyOnWriteArraySet是线程安全的Set.

  10. docker学习:docker---centos安装

    查看目标镜像 docker search centos 拉取镜像 docker pull centos 查看镜像 docker images 启动镜像 docker run -itd --privil ...