springcloud之微服務(wù)程序案例實(shí)現(xiàn)(一)_第1頁
springcloud之微服務(wù)程序案例實(shí)現(xiàn)(一)_第2頁
springcloud之微服務(wù)程序案例實(shí)現(xiàn)(一)_第3頁
springcloud之微服務(wù)程序案例實(shí)現(xiàn)(一)_第4頁
springcloud之微服務(wù)程序案例實(shí)現(xiàn)(一)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

springcloud之微服務(wù)程序案例實(shí)現(xiàn)(?)1.創(chuàng)建??程2.??程pom.xml?件內(nèi)容?錄結(jié)構(gòu)截圖pom.xml詳情<modelVersion>4.0.0</modelVersion><groupId>com.jiangjy.springcloud</groupId><artifactId>springcloud-model</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><piler.source>1.8</piler.source><piler.target>1.8</piler.target><junit.version>4.12</junit.version><log4j.version>1.2.17</log4j.version><lombok.version>1.16.20</lombok.version></properties><dependencyManagement<dependencies>><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR1</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>1.5.9.RELEASE</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.31</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.0</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.2.3</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><scope>test</scope></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency></dependencies></dependencyManagement></project>3.springcloud-model-api公共?模塊Module約定>配置>編碼MavenModule?模塊<modelVersion>4.0.0</modelVersion><!--?類??顯?聲明才能有明確的繼承表現(xiàn),?意外就是?類的默認(rèn)版本否則??定義--><parent><groupId>com.jiangjy.springcloud</groupId><artifactId>springcloud-model</artifactId><version>0.0.1-SNAPSHOT</version></parent><!--當(dāng)前Module我??叫什么名字--><artifactId>springcloud-model-api</artifactId><!--當(dāng)前Module需要?到的jar包,按??需求添加,如果?類已經(jīng)包含了,可以不?寫版本號(hào)--><dependencies><dependency><groupId>jectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies></project>新建部門pojo且配合lombok使?packagecom.jiangjy.springcloud.pojo;importjava.io.Serializable;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importlombok.experimental.Accessors;@AllArgsConstructor//全部帶參構(gòu)造器@NoArgsConstructor//?參構(gòu)造器@Data//gettersetter?法@Accessors(chain=true)//鏈?zhǔn)浇Y(jié)構(gòu)publicclassDeptimplementsSerializable{privatestaticfinallongserialVersionUID=1L;privateLongdeptno;//主鍵privateStringdname;//部門名稱privateStringdb_source;//來?哪個(gè)數(shù)據(jù)庫,因?yàn)槲⒎?wù)架構(gòu)可以?個(gè)服務(wù)對(duì)應(yīng)?個(gè)數(shù)據(jù)庫,同?個(gè)信息被存儲(chǔ)到不同的數(shù)據(jù)庫publicDept(Stringdname){super();this.dname=dname;}}數(shù)據(jù)庫表及數(shù)據(jù)SETFOREIGN_KEY_CHECKS=0;--------------------------------Tablestructurefor`dept`------------------------------DROPTABLEIFEXISTS`dept`;CREATETABLE`dept`(`deptno`bigint(20)NOTNULLAUTO_INCREMENT,`dname`varchar(60)DEFAULTNULL,`db_source`varchar(60)DEFAULTNULL,PRIMARYKEY(`deptno`))ENGINE=InnoDBAUTO_INCREMENT=8DEFAULTCHARSET=utf8;--------------------------------Recordsofdept------------------------------INSERTINTO`dept`VALUES('1',法'務(wù)部',DATABASE());INSERTINTO`dept`VALUES('2',開'發(fā)部',DATABASE());INSERTINTO`dept`VALUES('3',?'事部',DATABASE());INSERTINTO`dept`VALUES('4',財(cái)'務(wù)部',DATABASE());INSERTINTO`dept`VALUES('5',市'場(chǎng)部',DATABASE());INSERTINTO`dept`VALUES('6',運(yùn)'維部',DATABASE());INSERTINTO`dept`VALUES('7',后'勤部',DATABASE());當(dāng)前?項(xiàng)?右鍵-RunAs-Mavencleanmvncleaninstall后給其它模塊引?,達(dá)到通??的。也即需要?到部門實(shí)體的話,不?每個(gè)?程都定義?份,直接引?本模塊即可。4.springcloud-model-provider-dept-8001部門微服務(wù)提供者M(jìn)odule創(chuàng)建?模塊(?產(chǎn)者-供應(yīng)商)配置pom.xml<projectxmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"<modelVersion>4.0.0</modelVersion><parent><groupId>com.jiangjy.springcloud</groupId><artifactId>springcloud-model</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>springcloud-model-provider-dept-8001</artifactId><dependencies><!--引???定義的api通?包,可以使?Dept部門pojo<version>${project.version}</version>靈活的版本--><dependency><groupId>com.jiangjy.springcloud</groupId><artifactId>springcloud-model-api</artifactId><version>${project.version}</version></dependency><!--測(cè)試--><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><!--mysql驅(qū)動(dòng)包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--阿?數(shù)據(jù)源--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId></dependency><!--?志--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId></dependency><!--mybatis-spring整合--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><!--內(nèi)嵌的服務(wù)器容器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><!--修改后?即?效,熱部署-->

<dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency></dependencies></project>配置application.ymlserver:port:8001#訪問的端?號(hào)#mybatis整合mybatis:config-location:classpath:mybatis/mybatis.cfg.xml#mybatis配置?件所在路徑type-aliases-package:com.jiangjy.springcloud.pojo#所有pojo別名類所在包mapper-locations:-classpath:mybatis/mappers/*.xml#mapper映射?件#spring整合spring:application:name:springcloud-model-dept#項(xiàng)?對(duì)外暴露的訪問名稱datasource:type:com.alibaba.druid.pool.DruidDataSource#當(dāng)前數(shù)據(jù)源操作類型driver-class-name:com.mysql.jdbc.Driver#mysql驅(qū)動(dòng)包c(diǎn)om.mysql.jdbc.Driver的前?是org.gjt.mm.mysql.Driver,#現(xiàn)在主要?com.mysql.jdbc.Driver,但為了保持兼容性保留了org.gjt.mm.mysql.Driver這個(gè)路徑的引?。url:jdbc:mysql://localhost:3306/springcloud01#數(shù)據(jù)庫名稱username:rootpassword:rootdbcp2:min-idle:5#數(shù)據(jù)庫連接池的最?維持連接數(shù)initial-size:5#初始化連接數(shù)max-total:5#最?連接數(shù)max-wait-millis:200#等待連接獲取的最?超時(shí)時(shí)間Dao層packagecom.jiangjy.springcloud.dao;importjava.util.List;importorg.apache.ibatis.annotations.Mapper;importcom.jiangjy.springcloud.pojo.Dept;@MapperpublicinterfaceDeptDao{//查詢所有publicList<Dept>findAll();//根據(jù)Id查詢publicDeptfindById(Longid);//添加publicbooleanaddDept(Deptdept);}Dao的mapper<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-////DTDMapper3.0//EN""/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.jiangjy.springcloud.dao.DeptDao"><selectid="findAll"resultType="com.jiangjy.springcloud.pojo.Dept">selectdeptno,dname,db_sourcefromdept</select><selectid="findById"resultType="com.jiangjy.springcloud.pojo.Dept">selectdeptno,dname,db_sourcefromdeptwheredeptno=#{deptno}</select><insertid="addDept"parameterType="com.jiangjy.springcloud.pojo.Dept">INSERTINTOdept(dname,db_source)VALUES(#{dname},DATABASE())</insert></mapper>Service層packagecom.jiangjy.springcloud.service;importjava.util.List;importcom.jiangjy.springcloud.pojo.Dept;publicinterfaceDeptService{//查詢所有publicList<Dept>getAll();//根據(jù)Id查詢publicDeptgetById(Longid);//添加publicbooleanaddDept(Deptdept);}Service實(shí)現(xiàn)層implpackagecom.jiangjy.springcloud.service.impl;importjava.util.List;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importcom.jiangjy.springcloud.dao.DeptDao;importcom.jiangjy.springcloud.pojo.Dept;importcom.jiangjy.springcloud.service.DeptService;@ServicepublicclassDeptServiceImplimplementsDeptService{@AutowiredprivateDeptDaodeptDao;@OverridepublicList<Dept>getAll(){returndeptDao.findAll();}@OverridepublicDeptgetById(Longid){returndeptDao.findById(id);}@OverridepublicbooleanaddDept(Deptdept){returndeptDao.addDept(dept);}}Controller控制層packagecom.jiangjy.springcloud.controller;importjava.util.List;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.PostMapping;importorg.springframework.web.bind.annotation.RequestBody;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;importorg.springframework.web.bind.annotation.RestController;importcom.jiangjy.springcloud.pojo.Dept;importcom.jiangjy.springcloud.service.DeptService;@RestControllerpublicclassDeptController{@AutowiredprivateDeptServicedeptService;@RequestMapping(value="/dept/add",method=RequestMethod.POST)publicbooleanadd(@RequestBodyDeptdept){returndeptService.addDept(dept);}@RequestMapping(value="/dept/getById/{id}",method=RequestMethod.GET)publicDeptgetById(@PathVariable("id")Longid){returndeptService.getById(id);}@RequestMapping(value="/dept/getAll",method=RequestMethod.GET)publicList<Dept>getAll(){returndeptService.getAll();}}主啟動(dòng)類packagecom.jiangjy.springcloud;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublicclassDeptProvider8001_APP{publicstaticvoidmain(String[]args){SpringApplication.run(DeptProvider8001_APP.class,args);}}代碼啟動(dòng)數(shù)據(jù)展?5.springcloud-model-consumer-dept-80部門微服務(wù)消費(fèi)者M(jìn)odule創(chuàng)建?模塊消費(fèi)者約定>配置>編碼約定>配置>編碼Pom.xml?件<modelVersion>4.0.0</modelVersion><parent><groupId>com.jiangjy.springcloud</groupId><artifactId>springcloud-model</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>springcloud-model-consumer-dept-80</artifactId><description>部門微服務(wù)消費(fèi)者</description><dependencies><dependency><!--??定義的api--><groupId>com.jiangjy.springcloud</groupId><artifactId>springcloud-model-api</artifactId><version>${project.version}</version></dependency><!--Ribbon相關(guān),詳情見?檔--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--修改后?即?效,熱部署--><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency></dependencies></project>application.yml?件server:port:80packagecom.jiangjy.springcloud.cfgbeans;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.client.RestTemplate;@ConfigurationpublicclassConfigBean{/***//boot-->springapplicationContext.xml---@Configuration配置ConfigBean=applicationContext.xml*@return*/@BeanpublicRestTemplategeRestTemplate(){returnnewRestTemplate();}}//@Bean//publicUserServciegetUserServcie()//{//returnnewUserServcieImpl();//}//applicationContext.xml==ConfigBean(@Configuration)//<beanid="userServcie"class="com.jiangjy.service.impl.UserServiceImpl">消費(fèi)者控制層packagecom.jiangjy.springcloud.controller;importjava.util.List;import

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論