前些天项目组的大佬跟我聊,说项目组想从之前的架构上剥离出来公用的模块做微服务的开发,恰好去年的5/6月份在上家公司学习了国内开源的dubbo+zookeeper实现的微服务的架构。自己平时对微服务的设计比较上心,第一:是自我感觉做多了垂直应用的项目就觉得味同嚼蜡,所有的模块,技术都冗余的堆积在一个项目里面。耦合度极高。项目的迭代,部署。后期的运营维护都是比较头疼,繁琐的事情。第二:适逢当下应用软件框架层出不穷,在java-web或者后台服务器的框架设计上,国内国外,都是如火如荼。新技术的迭代更是日新月异。今天就借此机会跟大家聊一聊spring Boot + spring Cloud实现分布式微服务框架的搭建流程。

第一章节:

         搭建垂直应用的spring boot + mybatis 的web项目

         首先打开Eclipse

         1:File------> new-------->other

              (注意:如果有些小伙伴找不到像我这样的目录 就是有Spring Starter Project 的工程目录,那么是因为你的Eclipse没有安装下载 Eclipse中安装STS插件)

              下载安装教程如下:

Springboot模块怎么变成微服务 springboot做微服务_微服务

 

第二步:

填写项目信息

Springboot模块怎么变成微服务 springboot做微服务_Springboot模块怎么变成微服务_02

 

第三步:

Springboot模块怎么变成微服务 springboot做微服务_spring_03

 

 

 

 

 

 创建完成后的对应目录结构,在此目录下的Controller,dao,Service,和Entity要注意包的目录结构和层级关系

 

Springboot模块怎么变成微服务 springboot做微服务_Springboot模块怎么变成微服务_04

  在创建spring boot项目的时候ApplicationContextStart.java是生成的,下面我们来看一下生成的java文件的内容

Springboot模块怎么变成微服务 springboot做微服务_微服务_05

在此java文件内我们引用了

@SpringBootApplication
@MapperScan("com.example.applicationcontext.dao")

两个注解@SpringBootApplication是一个组合注解,具体请百度,我们重点说明一下@MapperScan("com.example.applicationcontext.dao")是什么意思,Mapper顾名思义,其本质就是Mybatis的注解,细心的朋友可以鼠标放在这个注解上去看它的包文件路径。目的是用于扫描dao包下对应的持久层。这一点与传统的项目结构很相像。

第四步:基本属性配置

 

Springboot模块怎么变成微服务 springboot做微服务_Springboot模块怎么变成微服务_06

 

在src/main/resource目录下配置,jdbc和mybatis等的配置信息。

第五步:

右击ApplicationContextStartart选择Run as -->spring boot App 出现如下信息:

Springboot模块怎么变成微服务 springboot做微服务_spring_07

至此项目创建启动完成。

 

github代码下载地址:https://github.com/zhaigaogao/spring-boot-demon