根据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地址。

Spring Boot微服务电商项目开发实战 --- 基础配置及搭建的更多相关文章

  1. Spring Boot微服务电商项目开发实战 --- 分布式开发要避的那些坑

    今天已经进入第七讲了,整个微服务架构的搭建工作也基本完成.那到目前为止究竟使用了那些技术及实现了什么功能呢?我们先回顾一下. 使用的技术:SpringBoot.Dubbo.Zookeeper.Redi ...

  2. Spring Boot微服务电商项目开发实战 --- 多环境部署配置、端口号统一配置及Dubbo提供者消费者实现

    昨天已经搭建好了SpringBoot基于Maven的基础父子级项目,今天开始进入项目分模块及分布式实现.首先我们基于昨天的项目,在父级工程下建lyn-sys,lyn-customer,lyn-good ...

  3. SpringBoot微服务电商项目开发实战 --- 模块版本号统一管理及Redis集成实现

    上一篇文章总结了基于SpringBoot实现分布式微服务下的统一配置.分环境部署配置.以及服务端模块的分离(每一个提供者就是一个独立的微服务).微服务落地.Dubbo整合及提供者.消费者的配置实现.本 ...

  4. SpringBoot微服务电商项目开发实战 --- api接口安全算法、AOP切面及防SQL注入实现

    上一篇主要讲了整个项目的子模块及第三方依赖的版本号统一管理维护,数据库对接及缓存(Redis)接入,今天我来说说过滤器配置及拦截设置.接口安全处理.AOP切面实现等.作为电商项目,不仅要求考虑高并发带 ...

  5. SpringBoot微服务电商项目开发实战 --- Redis缓存雪崩、缓存穿透、缓存击穿防范

    最近已经推出了好几篇SpringBoot+Dubbo+Redis+Kafka实现电商的文章,今天再次回到分布式微服务项目中来,在开始写今天的系列五文章之前,我先回顾下前面的内容. 系列(一):主要说了 ...

  6. SpringBoot微服务电商项目开发实战 --- 全局异常处理

    上一篇文章讲了Redis缓存的安全防范及Kafka的接入及消息实现,今天接着前面的内容基础说说项目的优化和基础配置,今天要讲的内容主要是Spring Boot项目中的全局异常处理.为什么要做这件事呢? ...

  7. SpringBoot微服务电商项目开发实战 --- 分布式文件系统实现

    SpringBoot分布式开发系列文章已经持续了一段时间了,每一篇都有核心内容讲给大家.比如:分环境部署配置及服务端口号统一配置,子模块版本号管理及第三方jar依赖管理,单点登录实现,接口安全(签名+ ...

  8. SpringBoot微服务电商项目开发实战 --- Kafka集成接入

    kafka作为消息中间件的一款产品,她比较轻量级,在吞吐量方面很优秀,默认消息持久化到硬盘当中 168小时=7天,log.retention.hours=168,比较适合来做运营的统计.其他的不多讲, ...

  9. Java 18套JAVA企业级大型项目实战分布式架构高并发高可用微服务电商项目实战架构

    Java 开发环境:idea https://www.jianshu.com/p/7a824fea1ce7 从无到有构建大型电商微服务架构三个阶段SpringBoot+SpringCloud+Solr ...

随机推荐

  1. VS2012 调试Web项目 遭遇 HTTP 错误 500.23 - Internal Server Error

    原文:VS2012 调试Web项目 遭遇 HTTP 错误 500.23 - Internal Server Error 在使用vs2012 调试Web站点时 报错 500.23,详细如图 此错误是因为 ...

  2. Win10《芒果TV》更新v3.4.10春光版:优化弹窗体验,修复热键和推送

    春来触地故乡情,忽见风光忆两京,金谷踏花香骑入,曲江碾草钿车行,Win10版<芒果TV>更新v3.4.10,进一步优化弹窗体验,修复热键和推送异常. Win10版<芒果TV>V ...

  3. 在 Windows 10 专业版、企业版或教育版上设置展台

    原文: 在 Windows 10 专业版.企业版或教育版上设置展台 Set up a kiosk on Windows 10 Pro, Enterprise, or Education 适用于 Win ...

  4. ASP.NET Core Linux 发布

    这篇博客参考了以下文章: 1.http://www.cnblogs.com/ants/p/5732337.html 2.http://www.linuxidc.com/Linux/2016-11/13 ...

  5. Setting up multi nodes live migration in Openstack Juno with devstack

    Setting up multi nodes live migration in Openstack Juno with devstack Summary Live migration overvie ...

  6. delphi控件安装(安装ODAC、TeeChart、TServerSocket、TWSocketServer、TComm)

    一.oracle插件安装delphi7如何安装oracle access控件 假设ODAC主目录在 D:\dzj\odac Delphi7主目录在 D:\Program Files\Borland\D ...

  7. C语言的setlocale和localtime函数(C++也可用)

    Example 1234567891011121314151617181920212223242526272829303132 /* setlocale example */ #include < ...

  8. PHP阿里大鱼短信验证

    PHP阿里大鱼短信验证 第一步 登陆阿里大于注册账号,在用户管理中心创建应用,确定AppKEY和App Secret还有配置签名 第二步 在应用管理中选择SDK下载,或者直接点击http://down ...

  9. windows Service 之调试过程(附加到进程里调试,而且启动时间不能超过30秒)

    最近第一次用C#写了一个windows service ,其实实现的内容比较简单.就是启动remoting 连接,但是调试相对初次写windws service 的我来说,比较烦.没有经验,而且没办法 ...

  10. Android消息机制架构和源码解析

    http://wangkuiwu.github.io/2014/08/26/MessageQueue/