.NET程序员如何快入门Spring Boot
本篇文章将教你如何使用VS Code编写Spring Boot程序。你不需要用Eclipse,也不需要用IDEA。已经习惯了VS,其他的IDE…… 但不得不说VS Code很厉害,一用就喜欢。微软给VS Code提供了编写Java的插件,你可以在VS Code上愉快地写Java。
一、环境搭建
(1) 安装Java、配置环境变量。(教程很多,这里不多说)
(2) 安装Maven和配置。参考https://www.cnblogs.com/eagle6688/p/7838224.html
(3) 安装VS Code
(4) 安装Java开发插件,配置VS Code的Java开发环境。(这一步微软替我们简化了,下载Vs Code Java安装程序,直接安装就可以编写Java代码了,下载连接 http://aka.ms/vscode-java-installer-win 此安装程序可以重复运行)
二、构建Maven项目
(1)访问 http://start.spring.io/
(2)选择Maven Project、Java、Spring Boot 版本 2.1.6,如图

点击 Generate the Project 下载项目压缩包
(3)解压后用VS Code打开此文件夹

2.16版本官方推荐的项目结构如下:

目前用得更多的是类似这种结构:

三、编写接口,输入Hello World
(1)pom.xml中添加支持web的模块,然后保存
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
保存后VS Code自动下载该模块,也可以右键pom.xml,点击Update project configuration手动更新配置

pom.xml 文件中默认有两个模块:
spring-boot-starter :核心模块,包括自动配置支持、日志和 YAML,如果引入了 spring-boot-starter-web web 模块可以去掉此配置,因为 spring-boot-starter-web 自动依赖了 spring-boot-starter。
spring-boot-starter-test :测试模块,包括 JUnit、Hamcrest、Mockito。
(2)编写Controller 内容
@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String index() {
return "Hello World";
}
}
@开头的是Spring的注解
@RestController 的意思就是 Controller 里面的方法都以 json 格式输出,不用再写什么 jackjson 配置的了。
@RequestMapping 用于映射Web请求,包括访问路径和参数,用于类或方法上。
(3)点调试,然后添加配置,自动生成启动Java配置文件

运行调试

浏览器访问:http://localhost:8080/hello 成功输出Hello World
一切看上去都很简单,现在可以愉快地使用VS Code编写Spring Boot代码了
Demo GitHub地址:https://github.com/ityouknow/spring-boot-examples/tree/master/spring-boot-helloWorld
参考文章:http://www.ityouknow.com/springboot/2016/01/06/spring-boot-quick-start.html
推荐Spring Boot入门学习项目:https://github.com/ityouknow/spring-boot-examples
.NET程序员如何快入门Spring Boot的更多相关文章
- Spring Boot 学习方法论-如何正确的入门 Spring Boot
想要入门 Spring Boot,那么什么样的教程是符合初学者学习的(没有太多的Java基础但有一些程序基础或者软件编程知识). 这恰好能够勾出很多问题,比如是文章图文教程适合还是视频教程适合零基础初 ...
- Java程序员的Golang入门指南(下)
Java程序员的Golang入门指南(下) 4.高级特性 上面介绍的只是Golang的基本语法和特性,尽管像控制语句的条件不用圆括号.函数多返回值.switch-case默认break.函数闭包.集合 ...
- Java程序员的Golang入门指南(上)
Java程序员的Golang入门指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如 ...
- 大清朝早亡了,还没有入门 Spring Boot?
由于读者的数量越来越多,难免会被问到一些我自己都觉得不好意思的问题,比如说前几天小王就问我:"二哥,快教教我,怎么通过 Spring Boot 创建一个 Hello World 项目啊?&q ...
- spring boot + vue + element-ui全栈开发入门——spring boot后端开发
前言 本文讲解作为后端的spring boot项目开发流程,如果您还不会配置spring boot环境,就请点击<玩转spring boot——快速开始>,如果您对spring boot还 ...
- activeMQ入门+spring boot整合activeMQ
最近想要学习MOM(消息中间件:Message Oriented Middleware),就从比较基础的activeMQ学起,rabbitMQ.zeroMQ.rocketMQ.Kafka等后续再去学习 ...
- 资深程序员的Metal入门教程总结
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由落影发表于云+社区专栏 正文 本文介绍Metal和Metal Shader Language,以及Metal和OpenGL ES的差异 ...
- 2019最新版Java程序员零基础入门视频教程资料(全套)
为了解决Java学习初学者在网上找视频难的事情,本人整理了一份2019年度最新版的Java学习视频教程.希望看到这份视频的你们都能找到一份称心的工作,技术上都能得到进一步的提升,好东西就要分享给你们, ...
- 写给程序员的机器学习入门 (八 补充) - 使用 GPU 训练模型
在之前的文章中我训练模型都是使用的 CPU,因为家中黄脸婆不允许我浪费钱买电脑.终于的,附近一个废品回收站的朋友转让给我一台破烂旧电脑,所以我现在可以体验使用 GPU 训练模型了
随机推荐
- 【27.48%】【codeforces 699D】 Fix a Tree
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- HTML:描述语义
一.HTML HTML:Hypertext Markup Launguage,超文本标记语言,是网页的就文件格式,用于描述网页语义. 二.HTML骨架 DTD手册:http://www.w3schoo ...
- Codeforces 449 B. Jzzhu and Cities
堆优化dijkstra,假设哪条铁路能够被更新,就把相应铁路删除. B. Jzzhu and Cities time limit per test 2 seconds memory limit per ...
- MVC模式简单介绍
模型-视图-控件(model-View-Controller)MVC结构是一种开发模块的方法,它将数据存储和数据处理从数据的可视化表示中分离出来.存储和处理数据的组件称为模型,它包括模块的实际内容.表 ...
- c#开发移动APP-Xamarin入门扩展剖析
原文:c#开发移动APP-Xamarin入门扩展剖析 上节将Phoneword应用程序扩展到包含第二个屏幕,该屏幕可以跟踪应用程序的拨打历史 Navigation Xamarin.Form提供了一个内 ...
- C类型和存储方式的语言变量
变量的作用域:有效射程变量 >局部变量 1.在函数中的局部变量,量在该函数结束后自己主动撤销 2.函数内的复合语句中的局部变量(比方for语句),这个变量在复合语句结束后自己主动撤销.这个变量能 ...
- 实现js呼叫流行
<span style="font-size:14px;">//Html代码:单击控制实现通话"收件人流行" <!DOCTYPE html&g ...
- LAN公布java web项目的方法的外侧
1.进入路由器设置页面:http://192.168.1.1 2.找到"转发规则"选项,我现在的路由器tp-link,不同型号tp-link"转发规则"选项位置 ...
- 【转载】MySQL双主双从高可用集群架构
双浮动VIP 原文地址:http://www.linuxcache.com/archives/2907 转载请注明原文地址.
- jquery each()的用法--遍历键值对
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...