电商项目专题(三)-项目搭建
1.搭建父工程创建统一的父工程yigou用来管理依赖及其版本注意是创建project而不是moudle填写坐标信息填写保存位置信息父工程不需要代码只是管理依赖因此我们不选择任何SpringCloud的依赖。然后将pom文件修改成我这个样子?xml version1.0 encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.yigou.parent/groupIdartifactIdyigou/artifactIdversion1.0-SNAPSHOT/versionpackagingpom/packagingparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.1.4.RELEASE/versionrelativePath/!-- lookup parent from repository --/parentpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingjava.version1.8/java.versionspring-cloud.versionGreenwich.SR1/spring-cloud.versionmybatis.starter.version1.3.2/mybatis.starter.versionmapper.starter.version2.0.2/mapper.starter.versiondruid.starter.version1.1.9/druid.starter.versionmysql.version5.1.32/mysql.versionpageHelper.starter.version1.2.3/pageHelper.starter.versionfastDFS.client.version1.26.1-RELEASE/fastDFS.client.version/propertiesdependencyManagementdependencies!-- springCloud --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency!-- mybatis启动器 --dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion${mybatis.starter.version}/version/dependency!-- 通用Mapper启动器 --dependencygroupIdtk.mybatis/groupIdartifactIdmapper-spring-boot-starter/artifactIdversion${mapper.starter.version}/version/dependency!-- 分页助手启动器 --dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion${pageHelper.starter.version}/version/dependency!-- mysql驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion${mysql.version}/version/dependency!--FastDFS客户端--dependencygroupIdcom.github.tobato/groupIdartifactIdfastdfs-client/artifactIdversion${fastDFS.client.version}/version/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project可以发现我们在父工程中引入了SpringCloud等很多以后需要用到的依赖以后创建的子工程就不需要自己引入了。2.创建EurekaServer2.1.创建工程这个大家应该比较熟悉了。我们的注册中心起名为yigou-registry直接创建maven项目自然会继承父类的依赖选择新建module选择maven安装但是不要选择骨架然后填写项目坐标我们的项目名称为yigou-registry:选择安装目录因为是聚合项目目录应该是在父工程leyou的下面2.2.添加依赖添加EurekaServer的依赖?xml version1.0 encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdyigou/artifactIdgroupIdcom.yigou.parent/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdyigou-registry/artifactIddependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId/dependency/dependencies/project2.3.编写启动类/** * author bruceliu * create 2019-09-01 10:51 * description */SpringBootApplicationEnableEurekaServerpublicclassYigouRegistry{publicstaticvoidmain(String[]args){SpringApplication.run(YigouRegistry.class,args);}}2.4.配置文件server:port:10086spring:application:name:yigou-registryeureka:client:fetch-registry:falseregister-with-eureka:false#false表示自己端就是注册中心我的职责就是维护服务实例并不需要去检索服务service-url:defaultZone:http://127.0.0.1:${server.port}/eurekaserver:enable-self-preservation:false# 关闭自我保护eviction-interval-timer-in-ms:5000# 每隔5秒进行一次服务列表清理2.5.项目的结构目前整个项目的结构如图3.创建Zuul网关3.1.创建工程与上面类似选择maven方式创建Module然后填写项目名称我们命名为yigou-api-gateway填写保存的目录3.2.添加依赖这里我们需要添加Zuul和EurekaClient的依赖?xml version1.0 encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdyigou/artifactIdgroupIdcom.yigou.parent/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdyigou-api-gateway/artifactIddependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-zuul/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependency!--是springboot提供的微服务检测接口默认对外提供几个接口/info--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency/dependencies/project3.3.编写启动类/** * author bruceliu * create 2019-09-01 11:05 * description */SpringBootApplicationEnableDiscoveryClientEnableZuulProxypublicclassYigouApiGateway{publicstaticvoidmain(String[]args){SpringApplication.run(YigouApiGateway.class,args);}}3.4.配置文件server:port:10010spring:application:name:api-gatewayeureka:client:service-url:defaultZone:http://127.0.0.1:10086/eurekaregistry-fetch-interval-seconds:5instance:prefer-ip-address:trueip-address:127.0.0.1instance-id:${spring.application.name}:${server.port}zuul:prefix:/api# 添加路由前缀retryable:trueribbon:ConnectTimeout:250# 连接超时时间(ms)ReadTimeout:2000# 通信超时时间(ms)OkToRetryOnAllOperations:true# 是否对所有操作重试MaxAutoRetriesNextServer:1# 同一服务不同实例的重试次数MaxAutoRetries:1# 同一实例的重试次数hystrix:command:default:execution:isolation:thread:timeoutInMillisecond:10000# 熔断超时时长10000ms3.5.项目结构目前yigou下有两个子模块yigou-registry服务的注册中心EurekaServer yigou-api-gateway服务网关Zuul目前服务的结构如图所示截止到这里我们已经把基础服务搭建完毕为了便于开发统一配置中心ConfigServer我们留待以后添加。

相关新闻

终极指南:3分钟掌握ComfyUI-WanVideoWrapper的AI视频创作魔法

终极指南:3分钟掌握ComfyUI-WanVideoWrapper的AI视频创作魔法

终极指南:3分钟掌握ComfyUI-WanVideoWrapper的AI视频创作魔法 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 你是否曾经梦想过,只需一句话或一张图片,就能生…

2026/10/7 23:22:08 阅读更多 →
当AI成为骚扰工具时,也许只有更强大的AI才能成为那个“警察“

当AI成为骚扰工具时,也许只有更强大的AI才能成为那个“警察“

AI一天打1500通电话骚扰你——当"电销神器"失控,谁来保护你的手机? 央广网调查上海市消保委发声法律边界引热议 最近你有没有发现,接到的营销电话越来越多了?而且电话那头的声音越来越"标准"——因为它们根本不是真人,是AI。 7月28日,央广网调查揭…

2026/10/9 10:55:10 阅读更多 →
芯片数据手册法律条款深度解析:工程师必知的风险规避与设计责任

芯片数据手册法律条款深度解析:工程师必知的风险规避与设计责任

1. 项目概述:为什么需要读懂芯片的“用户手册”? 作为一名在嵌入式硬件和系统设计领域摸爬滚打了十多年的工程师,我经手过无数来自不同厂商的芯片和数据手册。早期,我和很多同行一样,拿到一颗芯片,第一反应…

2026/10/14 21:01:42 阅读更多 →

最新新闻

Java后端网络面试题:从TCP握手到云原生调试的全链路解析

Java后端网络面试题:从TCP握手到云原生调试的全链路解析

1. 这不是一份“背了就能过”的题库,而是一张网络协议世界的导航图你手头这份标着“2021Java后端面试题整理”的文档,标题里那个“计算机网络相关面试题解”,表面看是求职路上的应试材料,但实际它是一把钥匙——一把打开后端系统底…

2026/10/18 3:00:06 阅读更多 →
10天三千万的AI编程神话拆解:工具链、开源运营与商业化

10天三千万的AI编程神话拆解:工具链、开源运营与商业化

拿到这个标题的时候,我第一反应是朋友圈最近疯转的那条“AI代写代码焦虑帖”。大学生、GitHub全球第一、AI辅助编程、10天、三千万,这几个词组合在一起,怎么看都像一条博眼球的营销稿。但把公开能看到的材料认真捋过一遍之后,我改…

2026/10/18 3:00:06 阅读更多 →
没有感情的人是不可能成为神的

没有感情的人是不可能成为神的

很多地方都说这样一个错误认识:神仙是不能有感情的。其实我认为这是完全错误的:作者本来是想要说:我这么优秀的人,为了事业不能有感情。但是其实他错了:一个没有感情的人就会:视人命如草芥,杀人…

2026/10/18 3:00:06 阅读更多 →
SpringBoot+Thymeleaf后台管理CRUD实战:从数据流转到表单校验

SpringBoot+Thymeleaf后台管理CRUD实战:从数据流转到表单校验

1. 动手前先想清楚的事:这套方案到底解决什么问题“增删改查”这四个字,在简历上出现频率很高,但真正能用SpringBootThymeleaf把它做成一个可交付、可扩展、页面好看的后台管理模块,很多人其实是卡住的。问题往往不在“会不会写代…

2026/10/18 3:00:06 阅读更多 →
浏览器输入URL后发生了什么?全链路技术拆解与面试指南

浏览器输入URL后发生了什么?全链路技术拆解与面试指南

后端岗位的面试题里,有一道题目出现的频率高得出奇,基本可以算作“必考题”:在浏览器地址栏输入一个网址,按下回车到网页完整显示出来,中间到底发生了什么。做了十几年后端,我自己被问过,也面试…

2026/10/18 3:00:06 阅读更多 →
C#+OpenCV二维码识别:图像预处理与透视矫正实战解析

C#+OpenCV二维码识别:图像预处理与透视矫正实战解析

这个项目看起来很直接,但实际落地时坑不少。标题是“C#OpenCV识别图片二维码”,拆开看就是三件事:C#做宿主程序、OpenCV做图像处理、二维码识别作为最终目标。很多人一上来就找OpenCV的二维码识别模块,结果发现识别率惨不忍睹&…

2026/10/18 2:59:06 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →