您好,登錄后才能下訂單哦!
我們使用maven的空項(xiàng)目,不用任何模板直接創(chuàng)建
輸入項(xiàng)目信息
idea會(huì)自動(dòng)去掉橫線,自己加上
在項(xiàng)目中新建空Maven的module如下:
父項(xiàng)目依賴文件:使用dependencyManagement做依賴管理
<?xml?version="1.0"?encoding="UTF-8"?><project?xmlns="http://maven.apache.org/POM/4.0.0" ?????????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ?????????xsi:schemaLocation="http://maven.apache.org/POM/4.0.0?http://maven.apache.org/xsd/maven-4.0.0.xsd"> ????<modelVersion>4.0.0</modelVersion> ????<groupId>io.ilss.dubbo</groupId> ????<artifactId>spring-boot-dubbo-ilss</artifactId> ????<version>1.0</version> ????<modules> ????????<module>ilss-provider</module> ????????<module>ilss-service</module> ????????<module>ilss-consumer</module> ????</modules> ????<packaging>pom</packaging> ????<properties> ????????<java.version>1.8</java.version> ????????<spring-boot.version>2.0.3.RELEASE</spring-boot.version> ????????<dubbo-boot.version>0.2.0</dubbo-boot.version> ????????<mybatis-boot.version>2.0.0</mybatis-boot.version> ????????<druid.version>1.1.10</druid.version> ????</properties> ????<dependencyManagement> ????????<dependencies> ????????????<!--?Spring?Boot?--> ????????????<dependency> ????????????????<groupId>org.springframework.boot</groupId> ????????????????<artifactId>spring-boot-dependencies</artifactId> ????????????????<version>${spring-boot.version}</version> ????????????????<type>pom</type> ????????????????<scope>import</scope> ????????????</dependency> ????????????<!--?Dubbo?--> ????????????<dependency> ????????????????<groupId>com.alibaba.boot</groupId> ????????????????<artifactId>dubbo-spring-boot-starter</artifactId> ????????????????<version>${dubbo-boot.version}</version> ????????????</dependency> ????????????<!--?mybatis?--> ????????????<dependency> ????????????????<groupId>org.mybatis.spring.boot</groupId> ????????????????<artifactId>mybatis-spring-boot-starter</artifactId> ????????????????<version>${mybatis-boot.version}</version> ????????????</dependency> ????????????<dependency> ????????????????<groupId>com.alibaba</groupId> ????????????????<artifactId>druid</artifactId> ????????????????<version>${druid.version}</version> ????????????</dependency> ????????</dependencies> ????</dependencyManagement> ????<!--?dubbo官方提供的repository?--> ????<repositories> ????????<repository> ????????????<id>sonatype-nexus-snapshots</id> ????????????<url>https://oss.sonatype.org/content/repositories/snapshots</url> ????????????<releases> ????????????????<enabled>false</enabled> ????????????</releases> ????????????<snapshots> ????????????????<enabled>true</enabled> ????????????</snapshots> ????????</repository> ????</repositories></project>
provider的依賴
<?xml?version="1.0"?encoding="UTF-8"?><project?xmlns="http://maven.apache.org/POM/4.0.0" ?????????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ?????????xsi:schemaLocation="http://maven.apache.org/POM/4.0.0?http://maven.apache.org/xsd/maven-4.0.0.xsd"> ????<parent> ????????<artifactId>spring-boot-dubbo-ilss</artifactId> ????????<groupId>io.ilss.dubbo</groupId> ????????<version>1.0</version> ????</parent> ????<modelVersion>4.0.0</modelVersion> ????<artifactId>ilss-provider</artifactId> ????<dependencies> ????????<!--?本地模塊依賴?--> ????????<dependency> ????????????<groupId>io.ilss.dubbo</groupId> ????????????<artifactId>ilss-service</artifactId> ????????????<version>1.0</version> ????????</dependency> ????????<!--?框架依賴?--> ????????<dependency> ????????????<groupId>org.springframework.boot</groupId> ????????????<artifactId>spring-boot-starter</artifactId> ????????</dependency> ????????<dependency> ????????????<groupId>org.springframework.boot</groupId> ????????????<artifactId>spring-boot-starter-test</artifactId> ????????????<scope>test</scope> ????????</dependency> ????????<dependency> ????????????<groupId>com.alibaba.boot</groupId> ????????????<artifactId>dubbo-spring-boot-starter</artifactId> ????????</dependency> ????????<!--?mysql?--> ????????<dependency> ????????????<groupId>mysql</groupId> ????????????<artifactId>mysql-connector-java</artifactId> ????????????<scope>runtime</scope> ????????</dependency> ????????<!--?mybatis?--> ????????<dependency> ????????????<groupId>org.mybatis.spring.boot</groupId> ????????????<artifactId>mybatis-spring-boot-starter</artifactId> ????????</dependency> ????????<!--?druid?--> ????????<dependency> ????????????<groupId>com.alibaba</groupId> ????????????<artifactId>druid</artifactId> ????????</dependency> ????</dependencies> ????<build> ????????<plugins> ????????????<plugin> ????????????????<groupId>org.springframework.boot</groupId> ????????????????<artifactId>spring-boot-maven-plugin</artifactId> ????????????</plugin> ????????????<plugin> ????????????????<groupId>org.apache.maven.plugins</groupId> ????????????????<artifactId>maven-compiler-plugin</artifactId> ????????????????<configuration> ????????????????????<source>1.8</source> ????????????????????<target>1.8</target> ????????????????</configuration> ????????????</plugin> ????????</plugins> ????</build></project>
provider的yml配置文件
spring: ??application: ????name:?ilss-provider??datasource: ????type:?com.alibaba.druid.pool.DruidDataSource ????driver-class-name:?com.mysql.jdbc.Driver ????url:?jdbc:mysql://localhost:3306/xxx?useSSL=false ????username:?root????password:?xxxmybatis: ??mapperLocations:?classpath:mapper/*.xmldubbo: ??registry: ????protocol:?zookeeper????address:?127.0.0.1:2181 ????id:?registry-1 ??protocol: ????port:?20888 ????name:?dubbo????id:?dubbo????status:?server??application: ????name:?ilss-provider????id:?ilss-provider??scan: ????basePackages:?io.ilss.dubbo.service.impl??provider: ????version:?1.0
provider的啟動(dòng)類
package?io.ilss.dubbo;import?org.springframework.boot.WebApplicationType;import?org.springframework.boot.autoconfigure.SpringBootApplication;import?org.springframework.boot.builder.SpringApplicationBuilder;/** *?className?IlssProviderApplication *?description?IlssProviderApplication * *?@author?feng *?@version?1.0 *?@date?2019-01-30?18:08 */@SpringBootApplicationpublic?class?IlssProviderApplication?{???public?static?void?main(String[]?args)?{???????//由于Provider不需要web服務(wù),所以我們使用new?SpringApplicationBuilder時(shí)web指定NONE ???????new?SpringApplicationBuilder(IlssProviderApplication.class).web(WebApplicationType.NONE).run(args); ???} }
consumer依賴
<?xml?version="1.0"?encoding="UTF-8"?><project?xmlns="http://maven.apache.org/POM/4.0.0" ?????????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ?????????xsi:schemaLocation="http://maven.apache.org/POM/4.0.0?http://maven.apache.org/xsd/maven-4.0.0.xsd"> ????<parent> ????????<artifactId>spring-boot-dubbo-ilss</artifactId> ????????<groupId>io.ilss.dubbo</groupId> ????????<version>1.0</version> ????</parent> ????<modelVersion>4.0.0</modelVersion> ????<artifactId>ilss-consumer</artifactId> ????<dependencies> ????????<dependency> ????????????<groupId>io.ilss.dubbo</groupId> ????????????<artifactId>ilss-service</artifactId> ????????????<version>1.0</version> ????????</dependency> ????????<!--?框架依賴?--> ????????<dependency> ????????????<groupId>org.springframework.boot</groupId> ????????????<artifactId>spring-boot-starter</artifactId> ????????</dependency> ????????<dependency> ????????????<groupId>org.springframework.boot</groupId> ????????????<artifactId>spring-boot-starter-test</artifactId> ????????????<scope>test</scope> ????????</dependency> ????????<!--?dubbo?--> ????????<dependency> ????????????<groupId>com.alibaba.boot</groupId> ????????????<artifactId>dubbo-spring-boot-starter</artifactId> ????????</dependency> ????????<!--?boot-web?依賴?--> ????????<dependency> ????????????<groupId>org.springframework.boot</groupId> ????????????<artifactId>spring-boot-starter-web</artifactId> ????????</dependency> ????</dependencies></project>
consumer的yml配置文件
server:??port:?8080dubbo:??application:????id:?ilss-consumer ????name:?ilss-consumer ??registry:????protocol:?zookeeper ????address:?127.0.0.1:2181 ????id:?registry-1 ??protocol:????name:?dubbo ????port:?20889??consumer:????version:?1.0spring:??application:????name:?ilss-consumer
consumer的啟動(dòng)類
package?io.ilss.dubbo;import?org.springframework.boot.SpringApplication;import?org.springframework.boot.autoconfigure.SpringBootApplication;/** ?*?className?IlssConsumerApplication ?*?description?IlssConsumerApplication ?* ?*?@author?feng ?*?@version?1.0 ?*?@date?2019-01-30?18:18 ?*/@SpringBootApplicationpublic?class?IlssConsumerApplication?{????public?static?void?main(String[]?args)?{ ????????SpringApplication.run(IlssConsumerApplication.class); ????} }
service接口:在service中新建interface ?TestService
代碼如下:
package?io.ilss.dubbo.service;/** ?*?className?TestService ?*?description?TestService ?* ?*?@author?feng ?*?@version?1.0 ?*?@date?2019-01-30?18:07 ?*/public?interface?TestService?{????String?test(String?text); }
在provider中新建ServiceImpl
代碼如下:
package?io.ilss.dubbo.service.impl;import?com.alibaba.dubbo.config.annotation.Service;import?io.ilss.dubbo.service.TestService;/** ?*?className?TestServiceImpl ?*?description?TestServiceImpl ?* ?*?@author?feng ?*?@version?1.0 ?*?@date?2019-01-30?18:08 ?*/@Service( ????????version?=?"${dubbo.provider.version}", ????????application?=?"${dubbo.application.id}", ????????protocol?=?"${dubbo.protocol.id}", ????????registry?=?"${dubbo.registry.id}")public?class?TestServiceImpl?implements?TestService?{????@Override ????public?String?test(String?text)?{????????return?"Success!?Your?String?is?"?+?text; ????} }
Consumer中添加測(cè)試的TestController
package?io.ilss.dubbo.web;import?com.alibaba.dubbo.config.annotation.Reference;import?io.ilss.dubbo.service.TestService;import?org.slf4j.Logger;import?org.slf4j.LoggerFactory;import?org.springframework.web.bind.annotation.GetMapping;import?org.springframework.web.bind.annotation.RequestParam;import?org.springframework.web.bind.annotation.RestController;/** ?*?className?TestController ?*?description?TestController ?* ?*?@author?feng ?*?@version?1.0 ?*?@date?2019-01-30?18:19 ?*/@RestControllerpublic?class?TestController?{????private?static?final?Logger?logger?=?LoggerFactory.getLogger(TestController.class);????@Reference ????private?TestService?testService;????@GetMapping("/test")????public?String?test(@RequestParam?String?text)?{ ????????logger.info("text?value?:?{}",text);????????return?testService.test(text); ????} }
完整結(jié)構(gòu)
運(yùn)行
啟動(dòng)Zookeeper端口為2181,怎么安裝啟動(dòng)自行Google
啟動(dòng)IlssProviderApplication
啟動(dòng)IlssConsumerApplication
游覽器訪問(wèn)http://localhost:8080/test?text=abc 看到如下頁(yè)面和log即完成
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。