A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

品优购-关键字搜索
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);

}

}



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马