
正文
tars之springboot的初步使用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
公司要求使用tars框架,现学习的,听老大讲的经验和看的一些技术博客,感觉和SpringCloud有些相似,不过内部有自己的规范,基于rpc实现的服务与服务之间的远程调用,而cloud的远程调用是基于http的
下面是做的一个helloworld案例(基于springboot的)
用idea搭建一个springboot脚手架,然后导入相关依赖,引入必要的mvn插件
<dependency>
<groupId>com.tencent.tars</groupId>
<artifactId>tars-spring-boot-starter</artifactId>
<version>${tars.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- spring mvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<build>
<plugins>
<!-- springboot 启动类 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>cn.zfy.tarsspringboothttpserver.TarsSpringbootHttpServerApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- tars 文件位置 -->
<plugin>
<groupId>com.tencent.tars</groupId>
<artifactId>tars-maven-plugin</artifactId>
<version>1.6.1</version>
<configuration>
<tars2JavaConfig>
<tarsFiles>
<tarsFile>${basedir}/src/main/resources/tars/hello.tars</tarsFile><!--编写tars文件的路径-->
</tarsFiles>
<tarsFileCharset>UTF-8</tarsFileCharset>
<servant>false</servant> <!--true为服务 false为client-->
<srcPath>${basedir}/src/main/java</srcPath>
<charset>UTF-8</charset>
<packagePrefixName>cn.zfy.tarsspringboothttpserver.tars.client</packagePrefixName><!--这里是生成servant或者client端代码的包的前缀-->
</tars2JavaConfig>
</configuration>
</plugin>
</plugins>
</build>
在src/resources下面新建一个dictory,命名为tars,专门用于存放tars文件,新建一个文件hello.tars
文件内容为(遵守.tars文件的书写规则):
module TestApp {
interface Hello{
string hello(int no, string name);//注意这里是小写的string,不能用我们自定义的类,经常用json做字符串和对象转换嘛
};
};
在项目路径下面执行mvn命令 mvntars:tars2java(或者使用mvn插件,tars里面的,都一样)
这样子在刚刚pom.xml 里面 build配置的就会生成相关代码
tars服务生成一个带注解的接口,我们发现刚刚tars文件里面写的TestApp变成了报名,生成的接口名为HelloServant

来编写一个实现类,加上注解@TarsServant,并指定servant的名字为helloObj

下面生成客户端的代码

然后编写controller,对外提供http接口(后面的objName是在部署在服务器上面过后的obj全名,直接返回helloworld字符串也可以,我是http接口对外成功了的再试试调用tars接口的,这里是使用的客户端的代理对象来进行调用,
服务与服务之间也可以这样子调用)

编写项目的启动类(红色框起来的两个注解一定要,@EnableTarsServer保证部署的jar包可以用,@TarsHttpService对外提供http服务)

然后利用mvn打包工具package打成一个jar包,我们发现,gg,报错了

。。。。。。一大片红色的
问题不大,问题不大,加上一个插件,让它忽略这个好了(用启动类启动的时候也要报错,这个没问题,因为不是springboot工程,启动不了它)
打包好了

这个时候web 管理系统这边来管理部署服务
先到服务运维

然后回到服务管理这边,我们发现

点进去,发现有个发布管理

点击发布选中节点,进去部署我们的jar,选择我们需要的jar

有问题的话,重启下服务

这个时候来访问测试一下

这样子利用springboot开发一个简单的tars就ok了
新公司,第一次写相关的博客,写的不好,小生会努力的








