51.大数据之旅——java分布式项目12-整合Dubbo

与Dubbo整合

在这里插入图片描述

<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <version>1.2</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0</version>
</dependency>
<dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.12</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.8.4</version>
</dependency>
<dependency>
<groupId>cn.tarena</groupId>
<artifactId>1509-jt-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
  </dependencies>

3.添加对jt-common工程的依赖

4.完善工程结构,建立pojo包和sevice包如下图:
在这里插入图片描述
5.建立Cart(购物车)类和DubboCartRestService接口
注意:对象要被可序列化
代码示例:

@Table(name="tb_cart")
public class Cart extends BasePojo{
   
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
private Long userId;
private Long itemId;
private String itemTitle;
private String itemImage;
private Long itemPrice;
private Integer num;
 
}

6.创建购物车的web工程
在这里插入图片描述
7.添加父工程以及对dubbo工程的依赖
此外注意:引入dubbo组件后,会导致maven的tomcat启动失败,所以,还需要再pom.xml里引入servlet的依赖:
javax.servlet:

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>

8.在pom.xml文件里添加tomcat插件,并配置端口

9.引入相关的配置文件
在这里插入图片描述
注意:重点修改applicationContext-provider.xml里的连接参数

10.引入购物车工程的web.xml(整合dubbo的启动)

11.建立CartMapper接口类
代码示例:
public interface CartMapper extends SysMapper{

}

12.建立dubbo 的服务实现类
代码示例:
public class DubboCartRestServiceImpl implements DubboCartRestService{
@Autowired
private CartMapper cartMapper;

}
最后的结构如下:

12.完善前台工程 (jt-web)
添加对jt-dubbo工程的依赖

13.引入appliactionContext-consumer的配置文件
注意修改zookeeper的连接参数

14.建立CartController类
代码示例:

@Controller
@RequestMapping
public class CartController {
   
@Autowired
private DubboCartRestService dubboCartRestService;
 
}

15.启动dubbo环境,zookeeper环境,并对dubbo工程install后,启动前台和购物车工程测试整合是否成功

购物车页面显示


所在工程:jt-web

CartController类代码:

@Autowired
private DubboCartRestService dcrs;
 
@RequestMapping("/cart/show")
public String myCartList(Model model){
   
Long userId = 7L;
List<Cart> cartList = dcrs.myCartList(userId);
model.addAttribute("cartList", cartList);
 
return "cart";
 
}
 

所在工程:jt-dubbo
DubboCartRestService接口代码:

//给dubbo调用时注入,配置
@Path("cart")//http://cart.jt.com/cart/query/7
@Consumes({
   MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
@Produces({
   ContentType.APPLICATION_JSON_UTF_8, ContentType.TEXT_XML_UTF_8})
public interface DubboCartRestService {
   
@GET
@Path("query")
public List<Cart> myCartList(@QueryParam(value="userId")Long userId);
}

所在工程:jt-cart
DubboCartRestServiceImpl实现类代码:

public class DubboCartRestServiceImpl implements DubboCartRestService{
   
@Autowired
private CartMapper cartMapper;
 
public List<Cart> myCartList(Long userId) {
   
Cart cart=new Cart();
cart.setUserId(userId);
List<Cart> cartList = cartMapper.select(cart);
return cartList;
}
 

购物车商品新增和保存


所在工程:jt-web

CartController类代码:

@Controller
public class CartController {
   
 
@Autowired
private DubboCartRestService dcrs;
 
@RequestMapping("/cart/show")
public String myCartList(Model model){
   
Long userId = 7L;
List<Cart> cartList = dcrs.myCartList(userId);
model.addAttribute("cartList", cartList)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值