从一个天气预报系统讲起本节通过Spring Boot技术快速实现一个天气预报系统 。
通过这个系统,一方面可以了解Spring Boot的全面用法,为后续创建微服务应用打下基础;另一方面,该系统会作为本节进行微服务架构改造的非常好的起点 。
下面以前面创建的hello-world应用作为基础进行改造,成为新的应用micro-weather-basic 。
文章插图
开发环境为了演示本例,需要采用如下开发环境 。
. JDK8 。
.Gradle 4.0 。
. Spring Boot Web Starter 2.0.0.M4 。
Apache HttpClient 4.5.3 。
数据来源天气的数据是天气预报的实现基础 。本应用与实际的天气数据无关,理论上可以兼容多种数据来源 。但为求简单,我们在网上找了一个免费、可用的天气数据接口 。
- ·天气数据来源为中华万年历 。例如以下两种方式 。
通过城市ID获得天气数据: http://wthrcdn.etouch.cn/weather_mini?citykey=101280601 。
- ·城市ID列表 。每个城市都有一个唯一的ID作为标识,见https:/waylau.com/data/citylist.xml 。
{"data":{"yesterday":{"date" :"1日星期五","high" :"高温33℃","fx":"无持续风向","low" :"低温26℃","fl":"<![CDATA[<3级]]>","type":"多云"},"city":"深圳","aqi" : "72","forecast":["date":"2日星期六","high":"高温32℃","fengli":"<![CDATA[<3级]1>","low" :"低温26℃","fengxiang":"无持续风向","type" :"阵雨"},"date":"3日星期天","high":"高温 29℃","fengli":"<![CDATA[5-6级]1>","low" :"低温26℃","fengxiang":"无持续风向","type":"大雨""date":"4日星期一","high":"高温29℃","fengli":"<![CDATA[3-4级]1>","low":"低温26℃","fengxiang" :"西南风","type":"暴雨"},"date":"5日星期二","high":"高温31℃","fengli":"<![CDATA[<3级]]>","low":"低温27℃","fengxiang":"无持续风向","type":"阵雨""date" :"6日星期三","high":"高温32℃","fengli":"<![CDATA[<3级]l>","low":"低温27℃","fengxiang" :"无持续风向","type":"阵雨" }"ganmao":"风较大,阴冷潮湿,较易发生感冒,体质较弱的朋友请注意适当防护 。" wendu":"29"},"status": 1000,"desc":"OK"}
通过观察以上数据,来理解每个返回字段的含义 。- “city”:城市名称 。
- "aqi”:空气指数 。
- “wendu”:实时温度 。
- “date”:日期,包含未来5天 。
- “high”:最高温度 。
- “low”:最低温度 。
- “fengli”:风力 。
- “fengxiang”:风向 。
- “type”:天气类型 。
- “status”:接口调用的返回状态,返回值“1000”,意味着数据接口正常 。
- ·“desc”:接口状态的描述,“OK”代表接口正常 。
初始化一个Spring Boot项目初始化一个Spring Boot项目“micro-weather-basic”,该项目可以直接以之前的“hello-world"应用作为基础进行修改 。
【大牛教大家如何用SpringBoot技术快速实现天气预报系统】添加Apache HttpClient的依赖,来作为Web请求的客户端 。完整的依赖情况如下 。
//依赖关系dependencies {//该依赖用于编译阶段compile('org.springframework.boot:spring-boot-starter-web')/添加Apache HttpClient依赖compile('org.apache.httpcomponents:httpclient:4.5.3')//该依赖用于测试阶段testCompile('org.springframework.boot:spring-boot-starter-test')}
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 教你普洱茶生茶的喝法,几种普洱茶的喝法
- 你要的负载均衡Ribbon,来了
- 宝宝身上长猴子怎么办?
- 高尔夫教学须知 高尔夫学习技巧
- 教师节送什么花最好?
- 老年人第一、三腰椎骨折
- 教你辨别真假碧螺春茶,碧螺春茶健康饮用介绍
- 唐宋八大家速记口诀 记忆唐宋八大家的口诀
- 教师|传奇世界:传奇职业不止一种,为何玩家钟爱道士?
- 明朝历任宰相首辅 明史彭时传