新建Project

这里使用的开发工具是IDEA,JDK版本1.8。

打开IDEA开发工具,File -> New -> Project

然后一步步往下设置,然后到这一步,选择Spring Cloud

OK,继续一路往下,点finish,Spring Cloud项目创建完成。

设置编译器版本,选择jdk版本等

这里我使用的是JDK 1.8,当前主流的版本。具体操作不再赘述,网上一搜一大把,照着做就行了。

新建微服务启动类Application.class

注意这2个注解,一定要加上:@EnableDiscoveryClient和@SpringBootApplication

package com.yangcq.learning.hantang;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@EnableDiscoveryClient
@SpringBootApplication
public class HantangApplication {public static void main(String[] args) {SpringApplication.run(HantangApplication.class, args);}}

配置文件Application.properties


#服务名称
spring.application.name=hantang#设置日志级别
logging.level.root=info#对外提供服务端口号
server.port=8088#eureka-client注册地址
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/#是否向eureka-server注册
eureka.client.registerWithEureka=false

新建Controller

这里的注解和入参的定义很关键,请看仔细了,直接上代码。

为了方便跟踪,打印一行日志。

package com.yangcq.learning.hantang.controller;import com.yangcq.learning.hantang.HantangApplication;
import com.yangcq.learning.hantang.service.CommonService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;@RestController
@RequestMapping(value = "/interface/hantang/common")
public class CommonController {private static final Log log = LogFactory.getLog(HantangApplication.class);@Autowiredprivate CommonService commonService;@RequestMapping(value = "/list/{var}", method = RequestMethod.GET)public String getInventoryList(@PathVariable String var) {log.info("请求入参 var:" + var);commonService.commonTest();return "汉唐气象";}
}

新建service

CommonService接口
package com.yangcq.learning.hantang.service;public interface CommonService {/*** service方法*/void commonTest();
}
CommonServiceImpl实现类,注意,一定要加上@Service注解,注入Spring IOC容器
package com.yangcq.learning.hantang.service.impl;import com.yangcq.learning.hantang.service.CommonService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;@Service
public class CommonServiceImpl implements CommonService {private static final Log log = LogFactory.getLog(CommonServiceImpl.class);@Overridepublic void commonTest() {// 业务逻辑一般放在service中log.info("进入service commonTest");}
}

项目整体文件结构

OK,看一下项目整体结构

至此,一个Spring Cloud项目就算搭建完成了。接下来我们启动项目,访问看是否正常。

注意,这里我对banner进行了个性化定制,使用汉字“中”取代了“SPRING”。

这个挺简单,大家可以一试,只需要在resource下,新建一个banner.txt文件,然后把你自定义的banner设计,复制进去即可。

项目启动阶段,会去读取这个banner.txt文件,这个名字是固定的,不能更改,详情可以参考SpringApplication.class源码。

控制台完整启动日志如下:

D:\JDK64\jdk1.8\bin\java.exe -XX:TieredStopAtLevel=1___||||||||||||+++++++|||++++++++      |||      ++      |||      ++++++++|||+++++++||||||||||||vvv
2020-04-02 16:23:58.530  INFO 68876 --- [           main] c.y.learning.hantang.HantangApplication  : No active profile set, falling back to default profiles: default
2020-04-02 16:23:58.962  INFO 68876 --- [           main] o.s.cloud.context.scope.GenericScope     : BeanFactory id=fe5609f5-cb29-3873-8849-003765dbeeef
2020-04-02 16:23:59.226  INFO 68876 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8088 (http)
2020-04-02 16:23:59.236  INFO 68876 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-04-02 16:23:59.236  INFO 68876 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.33]
2020-04-02 16:23:59.538  INFO 68876 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-04-02 16:23:59.538  INFO 68876 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 992 ms
2020-04-02 16:23:59.716  INFO 68876 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-04-02 16:24:00.298  INFO 68876 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8088 (http) with context path ''
2020-04-02 16:24:00.702  INFO 68876 --- [           main] c.y.learning.hantang.HantangApplication  : Started HantangApplication in 3.422 seconds (JVM running for 4.388)

项目启动完成后,访问:http://localhost:8088/interface/hantang/common/list/%E6%B1%89

注意,我这里入参是中文:汉,所以显示的是对应的unicode编码

来看最终的效果:

控制台日志如下:

2020-04-02 17:01:18.938  INFO 68876 --- [nio-8088-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-04-02 17:01:18.938  INFO 68876 --- [nio-8088-exec-2] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-04-02 17:01:18.945  INFO 68876 --- [nio-8088-exec-2] o.s.web.servlet.DispatcherServlet        : Completed initialization in 7 ms
2020-04-02 17:01:18.973  INFO 68876 --- [nio-8088-exec-2] c.y.learning.hantang.HantangApplication  : 请求入参 var:汉
2020-04-02 17:01:18.973  INFO 68876 --- [nio-8088-exec-2] c.y.l.h.service.impl.CommonServiceImpl   : 进入service commonTest

使用Spring Initializr从零开始搭建Spring Cloud项目,就这么愉快的结束了。后续,我会基于这个项目,进行Spring Cloud项目的

扩展,逐渐丰富这个项目,敬请期待。

自己动手,使用Spring Initializr从零开始搭建Spring Cloud项目相关推荐

  1. Spring Initializr私服搭建和定制化模板

    概述 Spring Initializr是Spring官方提供,用来创建SpringBoot项目的脚手架. Spring官方Spring Initializr:https://start.spring ...

  2. 【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

    [Spring Boot]使用Spring Boot来搭建Java web项目以及开发过程 一.Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来 ...

  3. 从零开始搭建一个vue项目 -- vue-cli/cooking-cli(一)

    从零开始搭建一个vue项目 -- vue-cli/cooking-cli(一) 1.vue-cli搭建一个可靠成熟的项目 1.介绍 vue-cli 我是去年六月份接触的vue1.0,当时还是个菜逼,当 ...

  4. 从零开始搭建一个react项目

    Nav logo 120 发现 关注 消息 4 搜索 从零开始搭建一个react项目 96 瘦人假噜噜 2017.04.23 23:29* 字数 6330 阅读 32892评论 31喜欢 36 项目地 ...

  5. 使用 spring tool suit 搭建 spring boot 项目

    使用 eclipse 搭建 spring boot 项目详细步骤 相对繁琐. 使用 spring tool suit 则简单多了. 直接new一个project ,选项 spring starter ...

  6. Spring Boot快速搭建Spring框架

    2019独角兽企业重金招聘Python工程师标准>>> Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著 ...

  7. 从零开始搭建一个springCloud项目

    前言:springCloud,相信大家已经听过很多次了,现在各种大大小小的公司都在使用的微服务框架,包括我正在上班公司的项目里面使用到的就是springCloud,此文仅对于刚入行不久的小白,大佬们可 ...

  8. 从零开始搭建React开发项目之抖音“剪映”——创作课堂(基础入门篇)

    前言 React是近几年来前端项目开发非常火的一个框架,其背景是Facebook团队的技术支持,市场占有率也很高,对于很多新手来说可能很多人都在犹豫是选react还是vue,如果时间充裕的话还是首选r ...

  9. 从零开始搭建vue2+vant2项目

    前言:最近发现一个比较不错的移动端UI组件库vant2,打算搭建一个项目来学习一下,以防忘记,记录一下搭建过程. 1. 使用npm创建项目 执行 "vue create 项目名" ...

最新文章

  1. 创建型模式之FactoryMethod
  2. bottle+jquery 前后端分离
  3. adb connect 出现timeout的处理方式
  4. 【Tools】Centos7.5安装MySQL5.7
  5. 洛谷P1099 树网的核
  6. 栈的简单介绍以及栈结构的ADT【数据结构】
  7. 李善友:为什么外企人不敢创业
  8. php由哪几部分组成,微型计算机通常是由哪几部分组成?
  9. STM32工作笔记0029---认识电路原理图中的VCC,VDD,VEE,VSS
  10. 前端存储 (2) - sessionStorage ,localStorage
  11. 用lstm模型做预测_深度学习模型 CNN+LSTM 预测收盘价
  12. 图像语义分割(5)-DeepLabV2: 使用深度卷积网络、空洞卷积和全连接条件随机场进行图像语义分割
  13. dispatcherServlet源码分析之doDispatch
  14. 计算机组成原理强制类型转换规则,计算机组成原理——浮点数加减运算强制类型转换...
  15. 找出数组中重复的值和所在位置
  16. java更改exif信息_照片EXIF信息的读取和改写的JAVA实现
  17. android坐标画图软件下载,地图坐标app下载-地图坐标软件下载v4.8.15 安卓版-西西软件下载...
  18. 清橙OJ A1095 回溯之教室排课
  19. gxworks2使用指令手册_GX Works2操作手册(智能功能功能模块操作篇):三菱 GX 三菱 GX Works2操作手册(智能功能功能模块操作篇)...
  20. ps导出gif+html,ps怎么导出gif格式的动图

热门文章

  1. 图神经网络(10)- relational GCN
  2. 使用Ubuntu Pastebin分享文本
  3. 系统环境变量和用户环境变量的区别
  4. ASCII GBK Unicode 等各种字符编码
  5. 图论----同构图(详解)
  6. 自然语言处理1 -- 分词
  7. 各种机器学习算法比较
  8. CMD命令操作MySql数据库,操作详解
  9. 微信公众平台开发 mysql_微信公众平台开发数据库操作
  10. maven中的parent标签