国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java gradle 項目 在idea上 搭建一個簡單的thrift實例

這篇具有很好參考價值的文章主要介紹了java gradle 項目 在idea上 搭建一個簡單的thrift實例。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

Thrift是RPC通信的一種方式,可以通過跨語言進行通信,最近項目需要進行跨語言的通信,因此首先嘗試搭建了一個簡單的thrift框架,因為網(wǎng)上的實例大都參差不全,通過gpt查詢得到的結(jié)果對我?guī)椭笠稽c,但是也不夠仔細,因此做此總結(jié),希望給需要的人幫助。

正文

1 創(chuàng)建一個gradle項目

首先我們需要創(chuàng)建一個gradle項目,如果你是在當前項目的基礎(chǔ)上也可以不做創(chuàng)建哦。

2 添加依賴

找到根目錄的bulid.gradle 文件添加依賴

ependencies {
    implementation 'org.apache.thrift:libthrift:0.15.0'
}

之后idea會提示你導入依賴,或者收到更新一下依賴就可以生成thrift對應的依賴。

3創(chuàng)建一個簡單的demo

  1. 創(chuàng)建 .thrift文件
    創(chuàng)建一個文件夾比如命名為thrift,在文件下創(chuàng)建一個.thrift文件,用于生成對應語言的代碼。
    比如我創(chuàng)建了一個login.thrift 文件,添加兩個方法,一個有返回值,一個沒有返回值。
    創(chuàng)建的文件↓:
    java gradle 項目 在idea上 搭建一個簡單的thrift實例,java,intellij-idea,開發(fā)語言
    文件內(nèi)容↓:java gradle 項目 在idea上 搭建一個簡單的thrift實例,java,intellij-idea,開發(fā)語言

  2. 通過命令生成對應的java接口代碼
    這是thrift的一套機制,因為thrift是跨語言的,所以你要生成你的接口對應語言的service。
    在你剛才創(chuàng)建的 .thrift文件所在的路徑下執(zhí)行命令。
    找到你的 .thrift文件,右鍵,open in terminal,執(zhí)行命令

thrift --gen java loginService.thrift
其中 xx.thrift 就是你剛才創(chuàng)建的文件

() 如果你發(fā)現(xiàn),這個命令沒辦法執(zhí)行,那你需要先執(zhí)行這個命令哦:(親測有效)

sudo zypper install thrift

他就會自動生成文件夾和文件↓
java gradle 項目 在idea上 搭建一個簡單的thrift實例,java,intellij-idea,開發(fā)語言

  1. 寫一個實現(xiàn)類,實現(xiàn)剛才生成的接口
    針對你需要的功能,寫一個實現(xiàn)類,比如我寫一個loginServiceImpl,實現(xiàn)剛才生成的接口類。
    java gradle 項目 在idea上 搭建一個簡單的thrift實例,java,intellij-idea,開發(fā)語言
    到現(xiàn)在為止,我們已經(jīng)完成了大部分,之后我們就開始寫一個服務端和一個客戶端去測試了。thrfit需要創(chuàng)建一個server端和一個client端,用于我們發(fā)送通信和接收通信。

  2. 寫服務端
    創(chuàng)建一個thriftServer,類你可以隨意命名。舉例↓文章來源地址http://www.zghlxwxcb.cn/news/detail-671053.html

package com.gehc.surgery.thrift.Server;
import com.gehc.surgery.thrift.loginServiceImpl;
import com.gehc.surgery.thrift.loginService;
import org.apache.thrift.server.TServer;
import org.apache.thrift.server.TSimpleServer;
import org.apache.thrift.transport.TServerSocket;

public class ThriftServer {
    public static  void main(String[] args){
        try {
            //剛才自己創(chuàng)建的實現(xiàn)類
            loginServiceImpl login =new loginServiceImpl();
            TServerSocket serverSocket =new TServerSocket(9090);
            loginService.Processor<loginServiceImpl> processor =new loginService.Processor<>(login);
            TServer.Args serverArg =new TServer.Args(serverSocket);
            serverArg.processor(processor);
            TSimpleServer server =new TSimpleServer(serverArg);
            server.serve();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
  1. 寫一個客戶端
    創(chuàng)建一個thriftClient類,類名你可以自己命名,寫法如下↓:
package com.gehc.surgery.thrift.Client;

import com.gehc.surgery.thrift.loginService;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;

public class ThriftClient {
    public  static void main(String[] args) throws TException {
    		//自己定一下ip和端口 我隨意定義的
            TTransport transport= new TSocket("localhost",9090);
            transport.open();
            TBinaryProtocol protocol=new TBinaryProtocol(transport);
            loginService.Client client=new loginService.Client(protocol);
            //你的實現(xiàn)類的方法
            client.login();
            boolean result= client.login1();
            System.out.println(result);
            transport.close();
    }
}
  1. 測試
    先啟動一下服務端,然后再啟動一下客戶端,我的login1()方法是有返回值的,當啟動了客戶端,就可以在服務端的執(zhí)行日志那里看到我的相關(guān)返回值啦
    java gradle 項目 在idea上 搭建一個簡單的thrift實例,java,intellij-idea,開發(fā)語言

到了這里,關(guān)于java gradle 項目 在idea上 搭建一個簡單的thrift實例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 如何搭建一個簡單的springCloudAlibaba項目,并實現(xiàn)基本的使用

    如何搭建一個簡單的springCloudAlibaba項目,并實現(xiàn)基本的使用

    微服務是一種軟件架構(gòu)風格,它將一個大型應用程序拆分成一組更小、獨立的服務,每個服務都可以獨立開發(fā)、部署和擴展。每個服務都有自己的業(yè)務邏輯和數(shù)據(jù)庫,并且通過輕量級通信機制(如RESTful API)來相互通信。 微服務架構(gòu)的優(yōu)點包括 可擴展性:由于每個服務都是獨

    2024年01月21日
    瀏覽(24)
  • 使用node.js 搭建一個簡單的HelloWorld Web項目

    使用node.js 搭建一個簡單的HelloWorld Web項目

    文檔結(jié)構(gòu) config.ini one.js 使用方法 啟動內(nèi)網(wǎng)穿透 在控制臺啟動js文件 訪問網(wǎng)頁 修改為8081 登錄natapp官網(wǎng) 成功訪問

    2024年02月14日
    瀏覽(33)
  • IDEA如何導入gradle項目

    IDEA如何導入gradle項目

    IDEA導入了gradle項目之后,怎么樣讓它能夠識別成gradle項目并運行呢?其實很簡單, file - setting - Build,Execution,Deployment - Build Tools - Gradle 如上所示,將Use Gradle from選項改成 Specified location , 后面的路徑選擇自己安裝的gradle路徑即可,我的路徑是: C:Devinmy Program filesgradle-6.9.1

    2024年02月15日
    瀏覽(19)
  • 將Java與數(shù)據(jù)庫連接起來(配置idea),實現(xiàn)一個簡單的圖書管理系統(tǒng)

    將Java與數(shù)據(jù)庫連接起來(配置idea),實現(xiàn)一個簡單的圖書管理系統(tǒng)

    目錄 1.通過connector連接Java和Mysql數(shù)據(jù)庫 (1)首先配置idea (2)如何把java和mysql連接起來 1.簡單連接 2.認識PrepareStatement 2.實現(xiàn)簡單的圖書管理系統(tǒng) (1)創(chuàng)建數(shù)據(jù)庫jdbc,并且創(chuàng)建出book表 ?(2)在idea中書寫代碼將mysql與java連接,實現(xiàn)基本的增刪改查 1.JdbcUtiles類,一個使用jdbc的工具

    2024年02月11日
    瀏覽(28)
  • Android Studio或IntelliJ IDEA 構(gòu)建Gradle項目時,gradle下載時連接超時問題

    Android Studio或IntelliJ IDEA 構(gòu)建Gradle項目時,gradle下載時連接超時問題

    用IntelliJ IDEA 創(chuàng)建一個Gradle項目,下載gradle時顯示連接超時。 問題如下 : 在項目根目錄的gradle目錄下,gradle-wrapper.properties文件定義了用于構(gòu)建項目的gradle工具的下載地址 services.gradle.org 。由于該網(wǎng)站的服務器在國外,所以在國內(nèi)訪問可能存在連接超時問題,訪問不到。 筆者

    2024年02月04日
    瀏覽(23)
  • 初級 - 如何搭建一個Java Web項目 - 記錄

    初級 - 如何搭建一個Java Web項目 - 記錄

    Intellij IDEA 一般可以通過兩種方式創(chuàng)建 Spring Boot 項目: 使用 Maven 創(chuàng)建 使用 Spring Initializr 創(chuàng)建 Tips: 標題選項后的 感嘆號 ! 的是重點配置 這里筆者選擇的是 2.x 版本的 Spring Boot,不勾選 Download pre-built … 1. 取消download pre-built shared indexes自動下載 Developer Tools 選項 ! 1. Spring

    2024年02月07日
    瀏覽(28)
  • 一個簡單的前后端交互——登錄注冊頁面(升級版)idea代碼篇(2:Maven:Javaweb項目)使用MyBatis:Mapper,servlet+Tomcat

    一個簡單的前后端交互——登錄注冊頁面(升級版)idea代碼篇(2:Maven:Javaweb項目)使用MyBatis:Mapper,servlet+Tomcat

    前言:本篇前后端交互實現(xiàn)代碼 。詳細項目搭建見上篇 先貼一張登錄界面和包結(jié)構(gòu): ? 1.Mapper 2.pojo 3.util 4.web 5.Login.html 6.CSS 我的企業(yè)版過期了,不能演示跳轉(zhuǎn)頁面了。但測過沒問題。

    2024年02月11日
    瀏覽(25)
  • IDEA用Gradle構(gòu)建項目時,lombok插件無效的解決辦法

    IDEA用Gradle構(gòu)建項目時,lombok插件無效的解決辦法

    Lombok?可用來幫助開發(fā)人員消除 Java 的重復代碼,尤其是對于簡單的 Java 對象(POJO),比如說getter/setter/toString等方法的編寫。它通過注解實現(xiàn)這一目的。 正確使用姿勢 一、安裝Lombok插件 菜單欄File -?Settings - Plugins,在中間Marketplace下面輸入Lombok搜索后進行安裝,安裝后會提

    2024年02月14日
    瀏覽(25)
  • 記本地新建一個gradle方式springboot項目過程

    記本地新建一個gradle方式springboot項目過程

    打算使用gradle在idea新建個springboot項目,然后坑很多,記錄一下 原來我的idea應該是社區(qū)版,新建項目時候沒有可以選擇spring相關(guān)配置,然后卸載了重裝,之前問題是啟動是啟動起來了,但是狀態(tài)欄那邊一直顯示編譯中,一直找不到具體原因,所以卸載和重裝了。 接下來就是

    2024年02月10日
    瀏覽(19)
  • 使用SpringBoot一小時快速搭建一個簡單后臺管理(增刪改查)(超詳細教程)
                    
            
各大技術(shù)基礎(chǔ)教學、實戰(zhàn)項目開發(fā)教學

    使用SpringBoot一小時快速搭建一個簡單后臺管理(增刪改查)(超詳細教程) 各大技術(shù)基礎(chǔ)教學、實戰(zhàn)項目開發(fā)教學

    ?最近也是臨近期末了,各種的期末大作業(yè),后臺管理也是很多地方需要用到的,為了方便大家能快速上手,快速搭建一個簡單的后臺管理,我花了兩天時間整理了一下 我會從0開始介紹,從數(shù)據(jù)庫的設(shè)計到前端頁面的引入最后到后端代碼的編寫,你只需要會一點前端的基礎(chǔ)和

    2023年04月13日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包