두보 추출하는 학습 (4 개) 인터페이스를 프로젝트 기반 및 버전을 통합 의존하고

소개

  일련의 프로젝트의 앞에서, 우리는 인터페이스가 있음을 발견 할 것이다 것은 동일합니다, 우리는 당신이 더 효율적으로 처리 사업이 될 수 있도록, 단독 및 통합 유지 보수를 추출해야합니다. 한편,이 개 프로젝트 받는다는 종속성 많은 사람들이 프로젝트가 단결에 따라 보장하기 위해 함께 작업하는 동안 프로젝트를하는 데 도움이 통일성을 유지 관리 할 수 ​​있습니다.

시리즈 문서 카탈로그

두보 프로젝트 기반 학습 (A) 관리 관리 콘솔

두보 프로젝트 기반 학습 (b)는 두보 서비스를 게시

두보 프로젝트 기반 학습 (C) 소비자 서비스 두보

통합 버전 두보 프로젝트 기반 학습 (4 개) 추출 인터페이스 이후

부모 프로젝트를 만듭니다

  프로젝트의 통합 관리를위한 부모 프로젝트 버전을 종속성으로 우리는 새로운 프로젝트 두보 부모를 만들 수 있습니다. (만의 pom.xml 파일을 유지할 수 있습니다 새로운 완성 된 프로젝트 수 있습니다)

  치어 포장 pom.xml 파일 속성 및 해당 구성 매개 변수를 수정, 우리는 다음과 같이 패키지를 사용해야하기 전에 프로젝트를 구성 :

    <! -包版本管理-> 
    <속성> 
        <dubbo.version> 2.6.0 </dubbo.version> 
        <zkclient.version> 0.10 </zkclient.version> 
        <큐레이터 framework.version> 4.0.1 < /curator-framework.version> 
        <fastjson.version> 1.2.46 </fastjson.version> 
        <log4j.version> 1.2.17 </log4j.version> 
        <SLF4J-api.version> 1.7.25 </ SLF4J-API .version> 
        <공유지-lang3.version> 3.4 </commons-lang3.version> 
        <그물코-all.version> 4.0.35.Final </netty-all.version> 
    </ 속성> 

    <! -依赖管理- -> 
    <dependencyManagement> 
        <종속성>
            <의존성> 
                <의 groupId> com.alibaba </의 groupId> 
                <artifactId를> 보행 </ artifactId를>
                <버전> $ {dubbo.version} </ 버전> 
            </ 의존성> 
            <의존성> 
                <의 groupId> com.101tec </의 groupId> 
                <artifactId를> zkclient </ artifactId를> 
                <version>은 $ {zkclient.version} </ 버전 > 
            </ 의존성> 
            <의존성> 
                <의 groupId> org.apache.curator </의 groupId> 
                <artifactId를> 큐레이터 틀 </ artifactId를> 
                <version>은 $ {큐레이터 framework.version} </ 버전> 
            </ 의존성> 
            < 의존성> 의존성> 
                <의 groupId> com.alibaba </의 groupId>
                <artifactId를> fastjson </ artifactId를> 
                <버전> $ {fastjson.version} </ 버전>
            </ 의존성> 
            <의존성> 
                <의 groupId> log4j에 </의 groupId> 
                <artifactId를> log4j에 </ artifactId를> 
                <version>은 $ {log4j.version} </ 버전> 
            </ 의존성> 
            <의존성> 
                <의 groupId> org.slf4j < /의 groupId> 
                <artifactId를> SLF4J-API </ artifactId를> 
                <version>은 $ {SLF4J-api.version} </ 버전> 
            </ 의존성> 
            <의존성> 
                <의 groupId> org.apache.commons </의 groupId> 
                <artifactId를> 평민 - lang3 </ artifactId를>
                <버전> $ {공유지 - lang3.version} </ 버전>
            </ 의존성> 
            <의존성>
                <의 groupId> io.netty </의 groupId> 
                <artifactId를> 그물코 모두 </ artifactId를> 
                <version>은 $ {그물코-all.version} </ 버전> 
            </ 의존성> 
        </ 의존성> 
    </ dependencyManagement>
코드보기

하위 프로젝트 만들기

공통 인터페이스 하위 프로젝트

  마우스 오른쪽 단추로 클릭하고, 새로운 두보-API 프로젝트를 만들고, 두보 부모 프로그램을 공용 인터페이스로 (내장 된 인터페이스는 이곳에 언급)

  1. 초과 구성을 제거,의 pom.xml 파일을 수정하고, 두보 부모 프로젝트를 의존

<? XML 버전 = "1.0"인코딩 = "UTF-8"?> 
<프로젝트의 xmlns = "http://maven.apache.org/POM/4.0.0"에 xmlns :이 xsi = "HTTP : //www.w3 .ORG / 2001 / 된 XMLSchema 인스턴스 " 
         는 xsi :의 schemaLocation ="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd "> 
    <modelVersion> 4.0.0 </ modelVersion> 
    <artifactId를> 보행-API </ artifactId를> 
    <부모> 
        <의 groupId> com.dubbo </의 groupId> 
        <artifactId를> 보행 부모 </ artifactId를> 
        <version>은 1.0 SNAPSHOT < / 버전> 
    </ 부모> 
</ 프로젝트>

  2. 하위 프로젝트의 이름을 추가, pom.xml 파일 두보 부모 프로젝트 구성 모듈을 수정

   3. 마지막으로, 두보-API 프로젝트, 공공 서비스 인터페이스를 만들

에 대한 패키지 페널티 com.dubbo.service; 

/ ** 
 * 공중 인터페이스 : 서비스 게시자 
 * / 
공용  인터페이스 DemoProviderService { 

    공공 문자열의 sayHello (문자열 이름); 
}

게시 서비스의 하위 프로젝트

  마찬가지로, 두보-API에 정의 된 인터페이스를 구현, 서비스 제공 업체로, 새 프로젝트 두보 - 공급자를 만들, 두보 부모 프로그램을 마우스 오른쪽 단추로 클릭

  1. 초과 구성을 제거,의 pom.xml 파일을 수정하고 부모 프로젝트 종속성에 정의 된 추가하는 동안, 두보 부모 프로젝트를 의존

<? XML 버전 = "1.0"인코딩 = "UTF-8"?> 
<프로젝트의 xmlns = "http://maven.apache.org/POM/4.0.0"에 xmlns :이 xsi = "HTTP : //www.w3 .ORG / 2001 / 된 XMLSchema 인스턴스 " 
         는 xsi :의 schemaLocation ="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd "> 
    <modelVersion> 4.0.0 </ modelVersion> 
    <artifactId를> 보행 제공자 </ artifactId를> 

    <부모> 
        <의 groupId> com.dubbo </의 groupId> 
        <artifactId를> 보행 부모 </ artifactId를> 
        <version>은 1.0 SNAPSHOT < / 버전> 
    </ 부모> 

    <의존성> 
        <의존성> 
            <의 groupId> COM.보행 </의 groupId> 
            <artifactId를> 보행-API </ artifactId를> 
        </ 의존성>
        <의존성> 
            <의 groupId> log4j에 </의 groupId>
            <의 groupId> com.alibaba </의 groupId> 
            <artifactId를> 보행 </ artifactId를> 
        </ 의존성> 
        <의존성> 
            <의 groupId> com.101tec </의 groupId> 
            <artifactId를> zkclient </ artifactId를> 
        </ 의존성> 
        <의존성> 
            <의 groupId> org.apache.curator </의 groupId> 
            <artifactId를> 큐레이터 틀 </ artifactId를> 
        </ 의존성> 
        <의존성> 
            <의 groupId> com.alibaba </의 groupId> 
            <artifactId를> fastjson </ artifactId를> 
        </ 종속 > 
        <의존성> 
            <artifactId를> log4j에 </ artifactId를> 
        </ 의존성> 
        <의존성> 
            <의 groupId> org.slf4j </의 groupId> 
            <artifactId를> SLF4J-API </ artifactId를> 
        </ 의존성> 
        <의존성> 
            <의 groupId> org.apache.commons </의 groupId> 
            <artifactId를> 몬즈 lang3 </ artifactId를> 
        </ 의존성> 
        <의존성> 
            <의 groupId> io.netty </의 groupId> 
            <artifactId를> 그물코 모두 </ artifactId를> 
        </ 의존성> 
    </ 의존성> 

</ 프로젝트>
코드보기

  2. (... 생략 스크린 샷을) 하위 프로젝트의 이름을 추가, pom.xml 파일 두보 부모 프로젝트 구성 모듈을 수정

  3. 인터페이스 구현 클래스 DemoProviderServiceImpl 만들기

에 대한 패키지 페널티 com.dubbo.service.impl, 

가져 오기 com.dubbo.service.DemoProviderService; 

/ ** 
 * 서비스를 달성하기 위해 내부 논리에 의해 게시 됨 
 * / 
공용  클래스를 DemoProviderServiceImpl 를 구현 DemoProviderService { 

    공공 문자열의 sayHello (문자열 이름) {
         반환 "웨이터 001" ; 
    } 
}

  4. 시험 등록 서비스를 실행하는 테스트 클래스를 만듭니다

   테스트, 성공적으로 등록 된 서비스 제공을 실행합니다.

소비자 서비스 하위 프로젝트

  마찬가지로, 소비자에게 서비스로, 새로운 두보 소비자 항목을 만들, 두보 부모 프로그램을 마우스 오른쪽 단추로 클릭 제공하는 서비스 두보 - 공급자에 대한 전화

  부모 프로젝트 정의 종속성을 추가하는 동안 1, 과잉 구성을 제거,의 pom.xml 파일을 수정하고, 두보 부모 프로젝트를 의존 (코드 ...... 스크린 샷 생략)

  2. (... 생략 스크린 샷을) 하위 프로젝트의 이름을 추가, pom.xml 파일 두보 부모 프로젝트 구성 모듈을 수정

  테스트 클래스를 작성합니다, 제공되는 서비스 두보-제공 업체에 연락

   4. 원격 호출 결과를 테스트 출력을 실행

   마지막으로, 테스트 OK

 

추천

출처www.cnblogs.com/huanghzm/p/11460797.html