javaEE商城第三天笔记
- 格式:docx
- 大小:500.06 KB
- 文档页数:16
小牛学堂() 。Java大数据笔记、代码、视频首发官网。免费高清~多多支持
魔力商城第三天
1 内容回顾
1、项目进行soa架构的改造
a) 使用dubbo,是阿里巴巴开源的服务治理中间件。
b) 可以使用spring容器发布服务
i. 加入dubbo的约束
ii. 指定工程的名称
iii. 指定注册中心的位置,可以使用广播形式的注册中心。直接使用zookeeper注册中心。
iv. 发布服务。
v. 部署dubbo的monitor管理服务。是一个war包。
c) Zookeeper注册中心
i. 作为注册中心使用
ii. 安装到linux系统
d) 调用服务。使用spring容器引用服务。
i. 只需要把springmvc配置好就可以。
ii. 指定工程名称
iii. 指定注册中心位置
iv. 指定要引用 的服务
v. 把服务注入到Controller中就可以使用。
2、商品列表的查询。
a) easyUi的DataGrid控件
b) Mybatis的分页插件。
i. 添加插件的jar包到工程
ii. 在mybatis的配置文件中配置插件。
iii. 在查询之前设置分页信息
iv. 从查询结果中取分页信息。使用PageInfo对象取分页信息。
2 课程计划
1、spring、springmvc父子容器的关系
2、后台功能商品添加实现
a) 商品类目选择功能
b) 图片上传
i. 图片服务器的搭建FastDFS。
ii. Nginx的学习
3 spring、springmvc父子容器
Spring容器(父容器)
Mapper的代理对象
Service对象
小牛学堂() 。Java大数据笔记、代码、视频首发官网。免费高清~多多支持
Spring容器是父容器
Springmvc(前端控制器)子容器
子容器可以访问父容器的对象,父容器不可以访问子容器的对象。
Springmvc容器(子容器)
Controller对象
Service对象
小牛学堂() 。Java大数据笔记、代码、视频首发官网。免费高清~多多支持
4 后台管理系统:选择商品类目功能
4.1 分析
需要使用easyUI的tree控件实现。
异步tree控件:
第一次只加载顶层节点,如果此节点有子节点,节点的状态应该是“closed”,如果没有子节点节点的状态是“open”
当展开节点时,此时tree再次发送请求,请求此节点下的子节点列表,展示出来。
小牛学堂() 。Java大数据笔记、代码、视频首发官网。免费高清~多多支持
初始化树形控件的url:/item/cat/list
请求的参数:id
返回第一级节点列表。Json格式的数据。
Json的数据格式:
[{
"id": 1,
"text": "Node 1",
"state": "closed"},
{
"id": 2,
"text": "Node 2",
"state": "closed"},
{
"id": 3,
"text": "Node 3",
"state": "closed"}
]
应该创建一个pojo描述EasyUITree控件的节点,包含三个属性:
Id、text、state
应该放到moli-comm工程中。
publicclassEasyUITreeNodeimplements Serializable{
小牛学堂() 。Java大数据笔记、代码、视频首发官网。免费高清~多多支持
privateintid;
private String text;
private String state;
publicint getId() {
returnid;
}
publicvoid setId(intid) {
this.id = id;
}
public String getText() {
returntext;
}
publicvoid setText(String text) {
this.text = text;
}
public String getState() {
returnstate;
}
publicvoid setState(String state) {
this.state = state;
}
}
关联的表:
tb_item_cat
小牛学堂() 。Java大数据笔记、代码、视频首发官网。免费高清~多多支持
4.2 Dao层
查询的表tb_item_cat。单表查询,可以使用逆向工程。
4.3 Service层
业务逻辑:根据parentId查询商品分类列表。转换成树形控件的节点列表,返回。
参数:long parentId
返回值:树形控件的节点列表
List
@Service
publicclass ItemCatServiceImpl implements ItemCatService {
@Autowired
private TbItemCatMapper itemCatMapper;
/**
* 根据商品分类的parentId查询列表
*
Title: getItemCatList
*
Description:
* @param parentId
* @return
* @see com.moli.service.ItemCatService#getItemCatList(long)
*/
@Override
publicList
//根据parentId查询分类列表
TbItemCatExample example = new TbItemCatExample();
//设置查询条件
Criteria criteria = example.createCriteria();
criteria.andParentIdEqualTo(parentId);
//执行查询
List
List
//转换成EasyUITreeNode列表
for (TbItemCat tbItemCat : list) {
//创建EasyUITreeNode对象
EasyUITreeNode node = new EasyUITreeNode();
node.setId(tbItemCat.getId().intValue());
node.setText(tbItemCat.getName());
//当节点下有子节点“closed”,如果没有“open”
node.setState(tbItemCat.getIsParent()?"closed":"open");
//添加到列表
resultList.add(node);
小牛学堂() 。Java大数据笔记、代码、视频首发官网。免费高清~多多支持
}
returnresultList;
}
}
4.3.1 发布服务
4.4 Controller层
4.4.1 引用服务
4.4.2 分析
请求的url:/item/cat/list
参数:long parentId(实际是id)
业务逻辑:接收请求的参数调用Service查询商品分类列表,返回json数据。需要使用@ResponseBody注解。
返回数据:List
@Controller
@RequestMapping("/item/cat")
publicclass ItemCatController {