黑马程序员技术交流社区
标题: 【郑州校区】Java之品优购课程讲义_day09(5) [打印本页]
作者: 谷粒姐姐 时间: 2018-9-17 14:41
标题: 【郑州校区】Java之品优购课程讲义_day09(5)
品优购-关键字搜索
4.1 需求分析打开搜索页面,在搜索框输入要搜索的关键字,点击搜索按钮即可进行搜索,展示搜索结果
4.1 后端代码4.1.1 服务接口层(1)创建 pinyougou-search-interface 模块(搜索服务接口),依赖 pinyougou-pojo
(2)创建 com.pinyougou.search.service 包,创建业务接口
[AppleScript] 纯文本查看 复制代码
public interface ItemSearchService {
/**
*搜索
*@param keywords
*@return
*/
public Map<String,Object> search(Map searchMap);
}
4.1.1 服务实现层(1)创建 war 工程 pinyougou-search-service ,引入 pinyougou-search-interface spring
dubbox 等相关依赖(参加其它服务工程)Tomcat 运行端口 9004
(2)添加 web.xml (参加其它服务工程)
(3)在 src/main/resources/spring 下 applicationContext-service.xml (参见其它服务工程)
dubbo 端口 20884
(4)在 src/main/resources/spring 下创建 spring 配置文件 applicationContext-solr.xml(同
demo 工程)
(5)编写服务实现类 ItemSearchServiceImpl.java
[AppleScript] 纯文本查看 复制代码
@Service(timeout=3000)
public class ItemSearchServiceImpl implements ItemSearchService{
@Autowired
private SolrTemplate solrTemplate;
@Override
public Map<String, Object> search(Map searchMap) { Map<String,Object> map=new HashMap<>();
Query query=new SimpleQuery();
//添加查询条件Criteria criteria=new
Criteria("item_keywords").is(searchMap.get("keywords"));
query.addCriteria(criteria);
ScoredPage<TbItem> page = solrTemplate.queryForPage(query, TbItem.class); map.put("rows", page.getContent());
return map;
}
}
4.1.1 控制层(1)创建 pinyougou-search-web 工程 ,引入依赖(参见其它 web 模块),tomcat 运行端口 9104
(2)添加 web.xml (参加其它 web 工程)
(3)添加配置文件 (内容参加其它 web 工程)
(4)创建包 com.pinyougou.search.controller 编写控制器类
[AppleScript] 纯文本查看 复制代码
@RestController
@RequestMapping("/itemsearch")
public class ItemSearchController { @Reference
private ItemSearchService itemSearchService;
@RequestMapping("/search")
public Map<String, Object> search(@RequestBody Map searchMap ){
return itemSearchService.search(searchMap);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |