构建微服务开发环境8————Hello 微服务
【内容指引】
1.用IDEA打开微服务项目;
2.更新Maven依赖;
3.IntelliJ IDEA JDK配置;
4.修改代码;
5.运行微服务;
6.将代码变更提交到Github。
经过前面的努力,我们已经为Spring Cloud微服务开发准备好了合适的环境。目前我们的操作系统上已安装了JDK、IntelliJ IDEA高效开发工具、Maven项目管理工具、Docker和Mysql等镜像、Github代码版本管理工具Github Desktop。今天我们小试牛刀,来个体验级的综合演练:
一、用IDEA打开微服务项目
上一篇中,我们向Github服务器提交了一个微服务项目“top_cloudev_doc”。现在我们分别演示在macOS系统和windows系统上打开这个项目:
macOS系统下的打开方式
在底部程序坞中点击IDEA图标(安装macOS版IDEA时我们演示过如何将IDEA加入到程序坞):

在欢迎界面点击“Open”:

定位到前面存放的“top_cloudev_doc”微服务项目,即可打开该项目。
windows系统下的打开方式
如下图所示:

在欢迎界面点击“Open”:


二、更新Maven依赖
这是我们安装IDEA和Maven后第一次打开项目,该项目使用Maven管理项目所需要的各种依赖。打开项目后我们会看到IDEA右下角有不断更新的进度,根据网速快慢的差异,这个过程可能会花很长时间,切记不要中断,耐心等待Maven依赖全部更新完成!,否则以后可能有各种找不到依赖的异常,而Maven对于下载了一半未完成的更新不会自动修复!

三、IntelliJ IDEA JDK配置
目前大多数IDE都没有集成JDK环境,IDEA也是一样,在使用IDEA之前首先要安装JDK,并且配置环境变量。与其他IDE不同之处在于,IDEA不会自动匹配系统的JDK环境。这时候启动类中代码看起来似乎有问题,其实只是IDEA的JDK没有配置过而已:

下面演示配置方法:
macOS系统
1.打开菜单“File > Project Structure”:

2.添加SDK:

3.选择“JDK”:

4.目标为安装JDK下的“Contents/Home”目录:


5.在Project Structure中选择“Project”:

6.如下图所示,选择SDK:

macOS下IDEA的JDK设定已完成,启动类里的红色波浪线警告也消失了:

windows系统
与macOS版IDEA的JDK配置方法一模一样:
1.打开菜单“File > Project Structure”:

2.在Project Structrue下的SDKs中添加JDK:


3.在Project中选择JDK:


四、修改代码
我们新建一个Rest控制器:


名称为:HomeController

此时会弹出一个提示是否自动加入Github管理的对话框,勾选记住选择,然后点击“Yes”:

代码如下:
package top.cloudev.doc.web; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; /**
* 我写的第一个REST控制器接口,仅用于演示
* Created by Mac.Manon on 2018/04/04
*/
@RestController
public class HomeController { /**
* hello spring cloud
* GET: /hello
* @return
*/
@GetMapping("/hello")
public String hello(){
return "hello, spring cloud!";
}
}
五、运行微服务

在windows下有可能遭到防火墙警告,点击“允许访问”即可:

项目启动成功,端口是8888,现在访问http://localhost:8888/hello

运行正常。
六、将代码变更提交到Github
打开Github Desktop,如下图,为本次更新代码写必要的备注,然后点击“Commit to master”:

如下图,点击“Push origin”将本次代码更新提交到Github服务器:

在Github.com上已能看到本次更新的代码了:


构建微服务开发环境8————Hello 微服务的更多相关文章
- 为 Python Server Pages 和 Oracle 构建快速 Web 开发环境。
		
为 Python Server Pages 和 Oracle 构建快速 Web 开发环境. - 在水一方 - 博客频道 - CSDN.NET 为 Python Server Pages 和 Oracl ...
 - vue第三单元(webpack的应用-能根据具体的需求构建对应的开发环境)
		
第三单元(webpack的应用-能根据具体的需求构建对应的开发环境) #课程目标 理解什么是单页面应用. 掌握单页面和多页面的差异. 了解单页面的实现原理. 掌握模块化的方式实现webpack配置,区 ...
 - [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)
		
[.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到ASP.NET ...
 - Spark:利用Eclipse构建Spark集成开发环境
		
前一篇文章“Apache Spark学习:将Spark部署到Hadoop 2.2.0上”介绍了如何使用Maven编译生成可直接运行在Hadoop 2.2.0上的Spark jar包,而本文则在此基础上 ...
 - 使用Eclipse+Maven+Jetty构建Java Web开发环境(几个教程综合集成2014发行)
		
工作需要使用Jetty由于web集装箱,得知Eclipse+Maven+Jetty该组合是非常好的,因此,要在网上找了很多教程,但不写或多或少特定的或过时的内容而导致最终的配置失败,易于配置为未来的同 ...
 - Python开发篇——构建虚拟Python开发环境(Conda+Poetry)
		
前言 之前虽略有提及Python,但是没有实际地写点料.惭愧,惭愧,所以这次先起个头,讲讲如何构建虚拟Python开发环境.相信之前看过我博客的人可能会想:博主不会又要聊聊Docker吧?放心,不会. ...
 - 构建微服务开发环境4————安装Docker及下载常用镜像
		
[内容指引] 下载Docker: Mac下安装Docker: Windows下安装Docker; 下载常用docker镜像. 一.下载Docker 1.Mac适用Docker下载地址:https:// ...
 - 构建微服务开发环境1————如何安装JDK
		
[内容指引] 下载JDK: Mac系统安装JDK: Mac系统配置环境变量: Windows系统安装JDK: Windows系统配置环境变量. 一.下载JDK 1.访问Oracle官网 http:// ...
 - 快速搭建 SpringCloud 微服务开发环境的脚手架
		
本文适合有 SpringBoot 和 SpringCloud 基础知识的人群,跟着本文可使用和快速搭建 SpringCloud 项目. 本文作者:HelloGitHub-秦人 HelloGitHub ...
 
随机推荐
- 【Android】[Problem]-"Waiting for target device to come online".
			
环境: win10专业版(创意者),Android studio 2.3.1 问题描述: 安装玩Android studio之后创建一个项目,建立AVD之后,运行程序时一直不能启动AVD,具体描述为: ...
 - anguar-select2
			
<!DOCTYPE html> <html ng-app="App"> <head> <meta charset="UTF-8& ...
 - python PEP8相关介绍
			
在学习了python相关技术之后,开始重视其开发规范,以满足代码的可读性以及可维护性.主要的是学习了PEP8-style for python code的相关内容. 代码布局 缩进:每一级4个缩进.连 ...
 - MyBatis关联关系
			
1.一对多:一个国家对应多个城市 01.实体类 package cn.pb.bean;import java.util.Set;/** * 国家的实体类 */public class Country ...
 - 深度学习基础网络 ResNet
			
Highway Networks 论文地址:arXiv:1505.00387 [cs.LG] (ICML 2015),全文:Training Very Deep Networks( arXiv:150 ...
 - Win32 API之绘图函数
			
AbortPath 抛弃选入指定设备场景中的所有路径.也取消目前正在进行的任何路径的创建工作 AngleArc 用一个连接弧画一条线 Arc 画一个圆弧 BeginPath 启动一个路径分支 Canc ...
 - push_back和emplace_back的区别
			
emplace_back能就地通过参数构造对象,不需要拷贝或者移动内存,相比push_back能更好地避免内存的拷贝与移动,使容器插入元素的性能得到进一步提升.在大多数情况下应该优先使用emplace ...
 - Android GC Log
			
最近在研究Android内存垃圾回收的内容,遇到一些自己之前不知道的技巧和方法.现在分享一种简单的在Logcat中可以看到垃圾回收状态的方法.经常关注Logcat日志的童鞋偶尔会看到一条类似于以下形式 ...
 - NodeJS定时任务
			
在实际开发项目中,会遇到很多定时任务的工作.比如:定时导出某些数据.定时发送消息或邮件给用户.定时备份什么类型的文件等等 一般可以写个定时器,来完成相应的需求,在node.js中自已实现也非常容易,接 ...
 - 【Python】 Web开发框架的基本概念与开发的准备工作
			
Web框架基本概念 现在再来写这篇文章显然有些马后炮的意思.不过正是因为已经学习了Flask框架, 并且未来计划学习更加体系化的Django框架,在学习过程中碰到的很多术语等等,非常有必要通过这样一篇 ...