前些天项目组的大佬跟我聊,说项目组想从之前的架构上剥离出来公用的模块做微服务的开发,恰好去年的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插件)

下载安装教程如下:http://blog.csdn.net/clementad/article/details/51334064

spring Boot+spring Cloud实现微服务详细教程第一篇-LMLPHP

第二步:

填写项目信息

spring Boot+spring Cloud实现微服务详细教程第一篇-LMLPHP

第三步:

spring Boot+spring Cloud实现微服务详细教程第一篇-LMLPHP

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

spring Boot+spring Cloud实现微服务详细教程第一篇-LMLPHP

在创建spring boot项目的时候ApplicationContextStart.java是生成的,下面我们来看一下生成的java文件的内容spring Boot+spring Cloud实现微服务详细教程第一篇-LMLPHP

在此java文件内我们引用了

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

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

第四步:基本属性配置

spring Boot+spring Cloud实现微服务详细教程第一篇-LMLPHP

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

第五步:

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

spring Boot+spring Cloud实现微服务详细教程第一篇-LMLPHP

至此项目创建启动完成。

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

04-19 17:25