前些天項目組的大佬跟我聊,說項目組想從之前的架構上剝離出來公用的模塊做微服務的開發,恰好去年的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