4.1.1 商家管理后台
构建 web 模块 pinyougou-shop-web 与运营商管理后台的构建方式类似。区别:
(1)定义 tomcat 的启动端口为 9102
(2)springmvc.xml


<!-- 引 用 dubbo 服 务 --><dubbo:application  name="pinyougou-shop-web"  /><dubbo:registry  address="zookeeper://192.168.25.132:2181"/><dubbo:annotation  package="com.pinyougou.shop.controller"  />

4.4实体类与数据访问层模块
4.4.1生成代码
利用反向工程 generatorSqlmapCustom 实现实体类与数据访问层代码的自动生成
4.4.1 拷贝代码
将 com.pinyougou.pojo 包拷贝到 pojo 工程
将 com.pinyougou.mapper 包和 resouce 下的 com.pinyougou.mapper 文件夹拷贝到 dao 工程

4.4.2 修改实体类代码
修改每个实体类,让其实现 Serializable 接口
5.品牌列表-后端代码
5.1 需求分析
完成品牌管理的后端代码,在浏览器可查询品牌的数据(json 格式)

5.2 数据库表
tb_brand品牌表

品牌首字母
5.1 后端代码5.2.1 服务层接口在 pinyougou-sellergoods-interface 工程创建 BrandService 接口

package com.pinyougou.sellergoods.service;

import java.util.List;

import com.pinyougou.pojo.TbBrand;

/**

*品牌服务层接口

*@author Administrator

*

*/

public interface BrandService {

/**

*返回全部列表

*@return

*/

public List<TbBrand> findAll();

}
5.2.1 服务实现类
在 pinyougou-sellergoods-service 工程创建 BrandServiceImpl 类

package com.pinyougou.sellergoods.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.alibaba.dubbo.config.annotation.Service;

import com.pinyougou.mapper.TbBrandMapper;

import com.pinyougou.pojo.TbBrand;

import com.pinyougou.sellergoods.service.BrandService; @Service
public class BrandServiceImpl implements BrandService { @Autowired
private TbBrandMapper brandMapper; @Override
public List<TbBrand> findAll() {

return brandMapper.selectByExample(null);

}

}
5.2.1 控制层代码
在 pinyougou-manager-web 工程创建 com.pinyougou.manager.controller 包, 包下 创建
BrandController 类

package com.pinyougou.manager.controller;

import java.util.List;

import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.alibaba.dubbo.config.annotation.Reference;
import com.pinyougou.pojo.TbBrand;

import com.pinyougou.sellergoods.service.BrandService;

/**

  • 品牌 controller
  • @author Administrator

*/ @RestController
@RequestMapping("/brand")

public class BrandController { @Reference
private BrandService brandService;

/**

*返回全部列表

*@return

*/ @RequestMapping("/findAll")
public List<TbBrand> findAll(){

return brandService.findAll();

}

}
测试
启动 pinyougou-sellergoods-service
启动 pinyougou-manager-web
地址栏输入 http://localhost:9101/brand/findAll.do

可以看到浏览器输出了 json 数据。

附录:常见错误
1.在注册中心找不到对应的服务
[AppleScript] 纯文本查看 复制代码
?
1
java.lang.IllegalStateException: Failed to check the status of the service com.pinyougou.sellergoods.service.BrandService. No provider available for the service com.pinyougou.sellergoods.service.BrandService from the url zookeeper://192.168.25.129:2181/com.alibaba.dubbo.registry.RegistryService?application=pinyo ugou-manager- web&dubbo=2.8.4&interface=com.pinyougou.sellergoods.service.BrandService&methods=updat e,get,delete,selectOptionList,add,getListByPage&pid=3980&revision=0.0.1- SNAPSHOT&side=consumer×tamp=1501146823396 to the consumer 172.16.17.14 use dubbo version 2.8.4

这种错误是服务层代码没有成功注册到注册中心导致,请检查一下你的服务层代码是否添加了@service 注解,并且该注解的包一定是 com.alibaba.dubbo.config.annotation 包,不是
org.springframework.stereotype.Service,这个地方极容易出错。另外还有一个原因就是你的 服务层工程由于某些原因没有正常启动,也无法注册到注册中心里。
无法连接到注册中心
请检查 IP 与端口是否填写正确,检查注册中心是否正常启动

转载于:https://blog.51cto.com/13517854/2150529

Java之品优购课程讲义_day01(8)相关推荐

  1. Java之品优购课程讲义_day19(6)

    品优购-秒杀下单 4.1 需求分析 商品详细页点击立即抢购实现秒杀下单,下单时扣减库存.当库存为 0 或不在活动期 范围内时无法秒杀. 4.2 后端代码 4.2.1 服务接口层 修改 pinyougo ...

  2. Java之品优购课程讲义_day05(8)

    5.1 最简单的 FastDFS架构 5.1 FastDFS安装 FastDFS 安装步骤非常繁琐,我们在课程中不做要求.已经提供单独的<FastDFS 安装部署文档>供学员们课后阅读. ...

  3. Java之品优购课程讲义_day05(4)

    电商概念及表结构分析 2.1 电商概念 SPU与 SKU SPU = Standard Product Unit ( 标 准 产 品 单 位 ) SPU 是商品信息聚合的最小单位,是一组可复用.易检索 ...

  4. Java之品优购课程讲义_day17(2)

    结算页-收件人地址选择 2.1 需求与数据库分析 2.1.1 需求描述 在结算页实现收件人地址选择功能 2.1.2 数据库结构分析 Tb_address 为地址表 2.1 准备工作 2.1.1 生成代 ...

  5. Java之品优购课程讲义_day16(2)

    2.1 后端控制层 实现思路: (1)从 cookie 中取出购物车 (2)向购物车添加商品 (3)将购物车存入 cookie pinyougou-cart-web 工程新建 CartControll ...

  6. Java之品优购课程讲义_day20(5)

    资源过滤与变量替换 修改 pom.xml ,在 build 节点中添加如下配置 <filters><filter>src/main/resources/filters/db_$ ...

  7. Java之品优购课程讲义_day20(2)

    秒杀商品列表的增量更新 每分钟执行查询秒杀商品表,将符合条件的记录并且缓存中不存在的秒杀商品存入缓存 /*** 刷新秒杀商品 */@Scheduled(cron="0 * * * * ?&q ...

  8. Java之品优购课程讲义_day08(7)

    4.1.1 Hash类型操作 创建测试类 TestHash (1)存入值 @Test public void testSetValue(){ redisTemplate.boundHashOps(&q ...

  9. Java之品优购课程讲义_day12(2)

    1.1 FTL指令 1.1.1 assign指 令 此指令用于在页面上定义一个变量 (1)定义简单类型: <#assign linkman="周先生"> 联系人:${l ...

最新文章

  1. C# http 性能优化500毫秒到 60 毫秒
  2. 苏宁11.11:苏宁易购订单搜索系统架构及实现
  3. Annihilate(SA)
  4. [51CTO]给您介绍Windows10各大版本之间区别
  5. 苏嵌第一天,shell中一些基础知识
  6. Google 又又又要“重回中国”了?
  7. 【渝粤教育】国家开放大学2018年春季 0064-21T20世纪欧美文学 参考试题
  8. hadoop 中添加和删除 datanode和tasktracker
  9. linux 调度总结
  10. java面试题1 牛客:A派生出子类B,B派生出子类C,并且在java源代码中有如下声明:
  11. Macbook Pro 201 装Win10 声卡_直播_个人工作室入门_1K-2k价位录音编曲声卡推荐
  12. B站视频怎么下载到本地【实用教程】
  13. openwrt绑定ddns花生壳域名
  14. html thead隐藏,HTML的thead标签
  15. Excel如何把同类数据合并到同一单元格
  16. LaTex---在图片或表格上方、下方添加字体
  17. Jupyter notebook常用快捷键
  18. XV6源代码阅读-虚拟内存管理
  19. 梯度消失与梯度爆炸(多图)
  20. 基于UBAT工具的试验性应用

热门文章

  1. You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1
  2. 【转载】Linux修改文件权限
  3. CodeForces - 540B School Marks —— 贪心
  4. Java中集合删除元素时候关于ConcurrentModificationException的迷惑点
  5. 东尼•博赞的思维导图丛书之一 《大脑使用说明书》
  6. 我的总结SVN的使用
  7. 通过SQL存储过程删除过期的数据库Bak备份文件
  8. struts2 开发
  9. Ubuntu 12.04自带包安装GLPI IT资产管理软件
  10. 使用OpenCV开发机器视觉项目