业务阐明
阐明:当用户点击商品时,须要跳转到商品的展示页面中,页面名称item.jsp
重构JT-MANAGE
创立接口
在common中创立接口
编辑Dubbo实现类
package com.jt.service;import com.alibaba.dubbo.config.annotation.Service;import com.jt.mapper.ItemDescMapper;import com.jt.mapper.ItemMapper;import com.jt.pojo.Item;import com.jt.pojo.ItemDesc;import org.springframework.beans.factory.annotation.Autowired;@Service(timeout = 3000)public class DubboItemServiceImpl implements DubboItemService{ @Autowired private ItemMapper itemMapper; @Autowired private ItemDescMapper itemDescMapper; @Override public Item findItemById(Long itemId) { return itemMapper.selectById(itemId); } @Override public ItemDesc findItemDescById(Long itemId) { return itemDescMapper.selectById(itemId); }}
编辑YML配置文件
server: port: 8091 servlet: context-path: /spring: datasource: #引入druid数据源 #type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true username: root password: root mvc: view: prefix: /WEB-INF/views/ suffix: .jsp#mybatis-plush配置mybatis-plus: type-aliases-package: com.jt.pojo mapper-locations: classpath:/mybatis/mappers/*.xml configuration: map-underscore-to-camel-case: truelogging: level: com.jt.mapper: debug#对于Dubbo配置dubbo: scan: basePackages: com.jt #指定dubbo的包门路 扫描dubbo注解 application: #利用名称 name: provider-manage #一个接口对应一个服务名称 一个接口能够有多个实现 registry: #注册核心 用户获取数据从机中获取 主机只负责监控整个集群 实现数据同步 address: zookeeper://192.168.126.129:2181?backup=192.168.126.129:2182,192.168.126.129:2183 protocol: #指定协定 name: dubbo #应用dubbo协定(tcp-ip) web-controller间接调用sso-Service port: 20881 #每一个服务都有本人特定的端口 不能反复.
编辑ItemController
package com.jt.controller;import com.alibaba.dubbo.config.annotation.Reference;import com.jt.pojo.Item;import com.jt.pojo.ItemDesc;import com.jt.service.DubboItemService;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;@Controller@RequestMapping("/items")public class ItemController { @Reference(timeout = 3000) private DubboItemService itemService; /** * 实现商品详情页面跳转 * url: http://www.jt.com/items/562379.html * 参数: 562379 itemId * 返回值: item.jsp页面 * 页面取值阐明: * ${item.title } item对象 * ${itemDesc.itemDesc } itemDesc对象 * * 思路: * 1.重构jt-manage我的项目 * 2.创立中立接口DubboItemService * 3.实现业务调用获取item/itemDesc对象 */ @RequestMapping("/{itemId}") public String findItemById(@PathVariable Long itemId, Model model){ Item item = itemService.findItemById(itemId); ItemDesc itemDesc = itemService.findItemDescById(itemId); //将数据保留到request域中 model.addAttribute("item",item); model.addAttribute("itemDesc",itemDesc); return "item"; }}