国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Spring Boot整合hessian入門

wujl596 / 1943人閱讀

摘要:相比,更簡單快捷。采用的是二進制協(xié)議,因為采用的是二進制協(xié)議,所以它很適合于發(fā)送二進制數(shù)據(jù)。創(chuàng)建接口創(chuàng)建實現(xiàn)類類端在這個包下服務(wù)端包類將服務(wù)端的代碼打包安裝到本地倉庫,打開瀏覽器輸入即可。

前言

看了其他的文章發(fā)現(xiàn),大多數(shù)都是只寫了關(guān)鍵的部分,對于一個初學者來說只能明白用了什么東西,但實際動手發(fā)現(xiàn),項目還存在一些問題,通過本篇文章,可以避免一些問題,節(jié)省一些時間成本。

Hessian簡介

Hessian是一個輕量級的remoting onhttp工具,使用簡單的方法提供了RMI的功能。 相比WebService,Hessian更簡單、快捷。采用的是二進制RPC協(xié)議,因為采用的是二進制協(xié)議,所以它很適合于發(fā)送二進制數(shù)據(jù)。
但是它的參數(shù)和返回值都需要實現(xiàn)Serializable接口。

代碼實現(xiàn)

由于Hessian是一個遠程調(diào)用的工具,那么我們需要創(chuàng)建2個springboot項目來模擬,服務(wù)端項目:springboot-hessian-server,客戶端項目:springboot-hessian-client.

springboot-hessian-server端

application.properties

server.port=8081

server端pom.xml


        
            com.caucho
            hessian
            4.0.38
        

        
        
        
            org.springframework.boot
            spring-boot-starter-web
        
    

    
        
            
                
                org.springframework.boot
                spring-boot-maven-plugin
                
                
                    true
                
            
        
    

需要注意上面那個插件,默認的時候創(chuàng)建,但是沒有下面中的內(nèi)容,打包之后,反編譯會發(fā)現(xiàn)根路徑是BOOT-INF,這會引起客戶端找不到接口中的方法的問題。

創(chuàng)建service接口

public interface HelloWorldService {
    String sayHello(String name);
}

創(chuàng)建service實現(xiàn)類

@Service
public class HelloWorldServiceImpl implements HelloWorldService {
    @Override
    public String sayHello(String name) {
        return "Hello world! "+ name;
    }
}

Application類

@SpringBootApplication
public class TestSpringbootHessianApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestSpringbootHessianApplication.class, args);
    }

    @Autowired
    private HelloWorldService helloWorldService;

    @Bean(name = "/hello/world/service")
    public HessianServiceExporter accountService(){
        HessianServiceExporter exporter = new HessianServiceExporter();
        exporter.setService(helloWorldService);
        exporter.setServiceInterface(HelloWorldService.class);
        return exporter;
    }
client端

application.properties

    server.port=8082

pom.xml

    
        
            com.caucho
            hessian
            4.0.38
        

        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
       
        
            com.test.springboot.hessian
            test-hessian
            0.0.1-SNAPSHOT
        

Application類

@SpringBootApplication
public class TestSpringbootHessianClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestSpringbootHessianClientApplication.class, args);
    }

    @Bean
    public HessianProxyFactoryBean helloClient(){
        HessianProxyFactoryBean factoryBean = new HessianProxyFactoryBean();
        factoryBean.setServiceUrl("http://localhost:8081/hello/world/service");
        factoryBean.setServiceInterface(HelloWorldService.class);
        return factoryBean;
    }

}

controller

@RestController
public class HelloWorldController {

    @Autowired
    HelloWorldService helloWorldService;

    @RequestMapping("/test")
    public String test(){
        return helloWorldService.sayHello("zzz");
    }
}

將服務(wù)端的代碼打包安裝到本地倉庫,打開瀏覽器輸入 http://localhost:8082/test 即可。

附上本人的git地址:

server端
https://gitee.com/BAKERSTREET...
client端
https://gitee.com/BAKERSTREET...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/72790.html

相關(guān)文章

  • dubbo個人理解于應(yīng)用章(二)

    摘要:當提供程序線程池耗盡時,不能發(fā)送到使用者端。一些錯誤修正動態(tài)配置不能刪除,支持參數(shù),監(jiān)控統(tǒng)計問題等新功能支持手冊線程池耗盡時自動堆棧轉(zhuǎn)儲。在注冊表無法連接時被阻止。正常關(guān)機,在注冊表取消注冊和線程池關(guān)閉之間增加額外的等待時間。 dubbo分析showImg(https://segmentfault.com/img/bVbam2f?w=1726&h=686); dubbo為什么要對接sp...

    AlphaWallet 評論0 收藏0
  • spring boot classloader

    摘要:最近閑暇時寫了一個小測試的工具,為了方便使用了。該測試工具最關(guān)鍵的步驟是動態(tài)加載每個測試模塊對應(yīng)的的包。這是我考慮到是不是的比較特殊,不是。具體參見此大神的實驗。遂修改代碼請輸入代碼 最近閑暇時寫了一個hessian 小測試的工具,為了方便使用了spring boot。該測試工具最關(guān)鍵的步驟是動態(tài)加載每個測試模塊對應(yīng)的hessian api的jar包。開始的加載代碼為: URLClas...

    smartlion 評論0 收藏0
  • 寫這么多系列博客,怪不得找不到女朋友

    摘要:前提好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲抱歉了。熟悉我的人都知道我寫博客的時間比較早,而且堅持的時間也比較久,一直到現(xiàn)在也是一直保持著更新狀態(tài)。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲:抱歉了!。自己這段時...

    JerryWangSAP 評論0 收藏0
  • dubbo整合springboot最詳細入門教程

    摘要:說明目前互聯(lián)網(wǎng)公司,大部分項目都是基于分布式,一個項目被拆分成幾個小項目,這些小項目會分別部署在不同的計算機上面,這個叫做微服務(wù)。當一臺計算機的程序需要調(diào)用另一臺計算機代碼的時候,就涉及遠程調(diào)用。此時就粉末登場了。 showImg(https://s2.ax1x.com/2019/07/05/ZaELxe.jpg); 說明 目前互聯(lián)網(wǎng)公司,大部分項目都是基于分布式,一個項目被拆分成幾個...

    JinB 評論0 收藏0

發(fā)表評論

0條評論

wujl596

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<