Spring Boot微服务电商项目开发实战 --- 基础配置及搭建

根据SpringBoot实现分布式微服务项目近两年的开发经验,今天决定开始做SpringBoot实现分布式微服务项目的系列文章,帮助其他正在使用或计划使用SringBoot开发的小伙伴们。本次系列文章以电商项目的分布式实现展开,希望喜欢的小伙伴们关注。

SpringBoot简介

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。

Spring Boot 优点

1,起步依赖

SpringBoot能够快速构建项目的魔力之一就是起步依赖。spring-boot-starter-xxx就是SpringBoot的起步依赖具体实现。例如我们要实现一个Web项目,那就只要依赖spring-boot-starter-web即可。基于不同的功能,官方为我们整合了大量的起步依赖,简化了我们搭建项目的工作。同时,起步依赖提供了可靠的依赖管理,降低了项目引入问题版本和依赖冲突的风险。

2,自动配置

SpringBoot使用@EnableAutoConfiguration 或者@SpringBootApplication注解 开启组件扫描和自动配置。 通过@SpringBootApplication的exclude参数关闭特定 的自动配置。@SpringBootApplication(exclude = XAutoConfiguration.class)

3,应用监控

Spring Boot 监控核心是 spring-boot-starter-actuator 依赖,增加依赖后, Spring Boot 会默认配置一些通用的监控,比如 jvm 监控、类加载、健康监控等。Actuator插件是SpringBoot原生提供的一个服务,可以通过暴露端点路由,用来输出应用中的诸多端点信息。

4,独立运行

SpringBoot内置了Tomcat容器,可以直接执行 main 方法运行。项目部署可以打成jar的文件在服务器上通过执行java -jar 命令来运行服务。

看完前面这4大优点,大家应该也就有一些了解了,SpringBoot把复杂的配置和容易出错的依赖统统都帮我们解决了,就连开发时本地的项目的启动,只需要执行一下main方法就可搞定,这使得使用Springboot开发更容易上手。

开发环境及使用技术

软件环境:JDK1.8,IntelliJ IDEA 2018, Mysql 5.6

分布式治理:Dubbo, Zookeeper

分布式缓存:Redis

消息队列:Kafka

SpringBoot项目搭建

先创建一个项目

点击“Create New Project”,进入以下界面

注意选择JDK,然后点击“Next”

填好Group, Artiface等信息,点击“Next”

如果你要开发一个Web项目,选择Web,再选择依赖,点击“Next”

然后设置好项目目录,点击“Finish”。此刻项目创建就完成了。

由于本次要创建分布式微服务项目,那么当前创建的只是一个父级工程的依赖,实际的(分布式模块)项目是在这个父级工程下。那么我们先修改父级工程的POM文件,添加<packaging>pom</packaging>。

此刻,选择父级工程,鼠标右击,选择“Open Modules Settings”

在打开的页面,点击上面的+号,添加一个Modules子项目。

点击“Next”

在此页面选择刚创建的项目作为Parent,在为此子模块设置GroupId和Artifactid,Version属性,然后点击“Next”。

点击“Finish”。

现在我们在刚创建的Web项目中写一个Controller和一个Application启动类,并配置application.prepoties。

Controller里写了一个get的api测试接口(/api/lyn/test)

application.properties

项目启动类:

这时,我们可以启动测试了。在启动类右击执行“Run”

项目启动成功后,打开浏览器测试一下刚下的api接口。

从头到尾,大家没看到我手动去添加Maven依赖和配置吧。仅仅配了一个服务端口号(实际这个可以不配,默认是8080)。这也正是前面说的Springboot的优点,真是太容易上手。

下期文章:分布式开发环境下分模块及提供者、消费者搭建,Dubbo服务提供及订阅消费、Zookeeper实现服务注册、单点登录及分布式缓存处理

获取项目源码,请扫码关注公众号,并发送Springboot获取Github地址。

posted @ 2019-07-18 21:08 imcate 阅读(...) 评论(...) 编辑 收藏