前些天项目组的大佬跟我聊,说项目组想从之前的架构上剥离出来公用的模块做微服务的开发,恰好去年的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
第二步:
填写项目信息
第三步:
创建完成后的对应目录结构,在此目录下的Controller,dao,Service,和Entity要注意包的目录结构和层级关系
在创建spring boot项目的时候ApplicationContextStart.java是生成的,下面我们来看一下生成的java文件的内容
在此java文件内我们引用了
@SpringBootApplication
@MapperScan("com.example.applicationcontext.dao")
两个注解@SpringBootApplication是一个组合注解,具体请百度,我们重点说明一下@MapperScan("com.example.applicationcontext.dao")是什么意思,Mapper顾名思义,其本质就是Mybatis的注解,细心的朋友可以鼠标放在这个注解上去看它的包文件路径。目的是用于扫描dao包下对应的持久层。这一点与传统的项目结构很相像。
第四步:基本属性配置
在src/main/resource目录下配置,jdbc和mybatis等的配置信息。
第五步:
右击ApplicationContextStartart选择Run as -->spring boot App 出现如下信息:
至此项目创建启动完成。
github代码下载地址:https://github.com/zhaigaogao/spring-boot-demon