目的

我们将在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. Python写业务逻辑的几个编码原则

    作为一个写业务逻辑的boy,我需要专注的就是把业务逻辑写好.写业务逻辑并不复杂,就是把编程最基础的东西使用好,有变量.循环.流程控制.函数.数据库等. 但是写出的逻辑要通俗易懂.易于理解,避免炫技.晦 ...

  2. MySQL 分区表,为什么分区键必须是主键的一部分?

    随着业务的不断发展,数据库中的数据会越来越多,相应地,单表的数据量也会越到越大,大到一个临界值,单表的查询性能就会下降. 这个临界值,并不能一概而论,它与硬件能力.具体业务有关. 虽然在很多 MySQ ...

  3. Django的安全机制 CSRF 跨站请求访问

    跨站请求伪造 一.简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成.而对于django中设置防 ...

  4. 三、Uniapp+vue+腾讯IM+腾讯音视频开发仿微信的IM聊天APP,支持各类消息收发,音视频通话,附vue实现源码(已开源)-配置项目并实现IM登录

    项目文章索引 1.项目引言 2.腾讯云后台配置TXIM 3.配置项目并实现IM登录 4.会话好友列表的实现 5.聊天输入框的实现 6.聊天界面容器的实现 7.聊天消息项的实现 8.聊天输入框扩展面板的 ...

  5. 主流的 API 架构

    1. RPC:调用另一个系统的函数 2. SOAP:使数据作为服务可用 3. REST:使数据作为资源可用 4. GraphQL:仅请求所需要的数据 1. RPC:调用另一个系统的函数 远程过程调用是 ...

  6. 第三十三个知识点:Bellcore攻击是如何攻击使用CRT的RSA的?

    第三十三个知识点:Bellcore攻击是如何攻击使用CRT的RSA的? 注意:这篇博客是由follow论密码计算中消除错误的重要性(On the importance of Eliminating E ...

  7. JPEG原理详解 (转载)

    JPEG算法解密 by jinchao   图片压缩有多重要,可能很多人可能并没有一个直观上的认识,举个例子,一张800X800大小的普通图片,如果未经压缩,大概在1.7MB左右,这个体积如果存放文本 ...

  8. C++ std-11 常用方法

    对多个值取最值 C++标准库提供了获取最大值和最小值的方法: int mi = std::min(x1, x2); int ma = std::max(x1, x2); 如果想获取超过两个数的最值呢? ...

  9. 【微信小程序云开发】1分钟学会实现上传、下载、预览、删除图片,并且以九宫格展示图片

    大家好,我叫小秃僧 这篇文章是讲解云开发如何上传.下载.预览.删除图片,并且以九宫格展示图片的功能 @ 目录 1. 实现效果 2.JavaScript代码 3.wxml代码 4.wxss代码 1. 实 ...

  10. JavaScript交互式网页设计 • 【第8章 jQuery动画与特效】

    全部章节   >>>> 本章目录 8.1 显示隐藏动画效果 8.1.1 show() 方法与hide() 方法 8.1.2 toggle()方法 8.1.3 实践练习 8.2 ...