使用dubbox开发REST应用
2024-08-30 17:36:41
新建项目,添加Maven支持。
在pom.xml中添加依赖。
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.0.7.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.0.7.Final</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency> <!-- 如果要使用json序列化 -->
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>3.0.7.Final</version>
</dependency> <!-- 如果要使用xml序列化 -->
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxb-provider</artifactId>
<version>3.0.7.Final</version>
</dependency> <!-- 如果要使用netty server -->
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-netty</artifactId>
<version>3.0.7.Final</version>
</dependency> <!-- 如果要使用Sun HTTP server -->
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jdk-http</artifactId>
<version>3.0.7.Final</version>
</dependency> <!-- 如果要使用tomcat server -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<version>8.0.11</version>
</dependency>
新建接口
public interface UserService { public ArrayList<String> sayHello(String uid); }
新建接口实现类
@Path("rest")
@Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
public class UserServiceImpl implements UserService { @GET
@Path("/sayHello/{uid}")
@Override
public ArrayList<String> sayHello(@PathParam("uid")String uid) {
ArrayList<String> x= new ArrayList<String>();
x.add("xxxx");
return x;
} }
新建dubbox配置文件
<dubbo:application name="platform" owner="programmer" organization="dubbox"/> <dubbo:registry address="zookeeper://localhost:2181" /> <dubbo:protocol name="rest" port="8081" server="tomcat" ></dubbo:protocol> <dubbo:service interface="rest.UserService" ref="userServiceImpl" /> <bean id="userServiceImpl" class="rest.UserServiceImpl"></bean>
新建启动类启动dubbox的rest服务
System.out.println("准备启动");
ClassPathXmlApplicationContext ap=new ClassPathXmlApplicationContext("applicationContext_dubbo.xml");
UserService userSrv=(UserService) ap.getBean("userServiceImpl");
System.out.println("启动DemoServiceProvider完成");
userSrv.sayHello("xushuai");
try {
System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
验证:启动zookeeper,启动应用。
通过浏览器访问rest接口。
最新文章
- c、c++ 常用函数记录
- nginx错误日志error_log日志级别
- oracle1
- 二叉树的Morris遍历
- 钱币兑换问题(hd1284)
- 【微信公众平台开发】百度周边搜索接口php封装
- RSA JS 加密解密DEMO
- convert图像格式批量转换
- Android简易实战教程--第四十三话《上拉加载与下拉刷新》
- 前端使用node.js的http-server开启一个本地服务器
- Delphi 对ini文件的操作
- discover功能--自动发现主机
- CODE FESTIVAL 2017 qual B 题解
- selenium-webdriver 简单教程
- nginx 的socket 选项处理--TCP_DEFER_ACCEPT
- 启动Memcached报错:/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory
- 转-oracle中比较两表表结构差异和数据差异的方法
- memcached 学习笔记 5
- Struts2中表单与Action传递数据三种方式
- 【BZOJ4873】[Shoi2017]寿司餐厅 最大权闭合图
热门文章
- 转: java DES的算法片码
- [React] {svg, css module, sass} support in Create React App 2.0
- hdu1181 dfs搜索之变形课
- ExpandableListView的使用以及信息的高亮显示
- 基于Spring-SpringMVC-Mybatis的简单样例
- css 滤镜之Gradient
- css中使input输入框与img(图片)在同一行居中对齐
- 从PRISM开始学WPF(一)WPF?
- 怎样在 AutoLayout 中使用 UIScrollView (多个ContentView)
- js常用的正则表达操作