学习目标:
目标1:了解电商行业特点以及理解电商的模式
B2B:企业对企业 C2C:个人对个人 B2C:企业对个人 C2B:个人对企业 O2O:线上到线下
F2C:工厂到个人 B2B2C:企业-企业-个人(品优购)
目标2:了解整体品优购的架构基本分三个子系统
网站前台:首页,商家首页,商品详细页,搜索页,会员中心,订单支付
运营商后台:商家审核,品牌管理,规格管理,模版管理,商品分类,商品审核,广告类型,广告管理
商家管理后台:商品管理
目标3:能够运用Dubbox+SSM搭建分布式应用
目标4:搭建工程框架,完成品牌列表后端代码
关于SOA架构
Service-Oriented Architecture:面向服务的架构
1.安装Zookeeper
1.解压缩pinyougou-server的linux压缩包
2.登录用户名root,密码itcast
3.虚拟机ip网段设置成192.168.25.0 网段:原因是后面的图片服务器也是25网段的,否则链接不上
4.通过ifconfig可以查看虚拟机的ip地址设置是否正确,并通过SecureCRT进行链接
5.alt+p通过put 命令上传Zookeeper压缩包
6.tar -zxvf zookeeper.tar.gz 解压缩后,进入目录 通过 mkdir data 创建文件夹
7.将conf目录中的zoo_sample.cfg文件通过mv zoo_sample.cfg zoo.cfg进行更名
8.通过vim zoo.cfg 点击i编辑dataDir=/root/zookeeper-3.4.6/data 按esc退出 :wq保存并退出
2.启动和停止Zookpper服务
启动:进入软件bin目录./zkServer.sh start
停止:./zkServer.sh stop
3.入门Demo
-
本地JAR包安装
-
运行本地命令将jar包安到本地仓库
mvn install:install-file -Dfile=d:\setup\dubbo-2.8.4.jar -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.8.4 -Dpackaging=jar
-
配置离线约束
Preferences中xml部分/xml Catalog
http://code.alibabatech.com/schema/dubbo/dubbo.xsd添加后选择Schema location
-
-
代码编写
-
服务提供方
-
创建maven工程dubbodemo_service,war工程
-
拷贝pom坐标,配置文件,Dubbox中的pom文件
-
拷贝web.xml文件
-
创建服务接口
package cn.itcast.dubbodemo.service; public interface UserService{ public String getName(); }
-
创建服务实现类
package cn.itcast.dubbodemo.service.impl; import com.alibaba.dubbo.config.annotation.Service; import cn.itcast.dubbodemo.service.UserService; @Service public class UserServiceImpl implements UserService{ public String getName(){ return "itcast"; } }
-
spring配置文件
-
-
服务消费方
-
创建maven工程dubbodemo_web的war工程
-
拷贝提供方一样的pom坐标,记得改一下端口号防止冲突,拷贝web.xml文件及springmvc.xml文件,拷贝提供方接口到消费方
-
创建cn.itcast.dubbodemo.controller包及UserController.java
@Controller @RequestMapping("/user") public class UserController{ @Reference private UserService userService @RequestMapping("/showName") @ResponseBody //代表直接输出,而不是返回任何页面 public String showName(){ return userService.getName(); } }
-
-
4.安装dubbo的管理后台
-
将懒人资源包中得dubbo-admin和tomcat服务器传linux中
-
tar -zxvf 将apache解压缩
-
移动两个jar包到tomcat的webapp目录下,运行tomcat
-
192.168.25.131:8080/dubbo-admin 用户名root密码root登录
注意:如果不是同一台主机需要修改WEB-INF中的dubbo.properties
dubbo.registry.address=zookeeper://127.0.0.1:2181
-
5.搭建品优购框架
-
工程结构说明
拷贝建库语句运行创建数据库 pinyougou.sql
-
项目架构
-
pinyougou-parnet,资源中提供pom.xml,注意需要将packaging改为pom
-
pinyougou-common
-
pinyougou-pojo(实体层)
-
pinyougou-dao(数据访问层)
//1.pom依赖pojo //2.拷贝配置文件到resources目录
-
导入逆向工程generatorSqlmapCustom,修改数据库信息,生成pojo及mapper映射,pojo拷到pojo子模块mapper到dao,映射拷到dao层的resources目录,pojo类加序列化接口
-
pinyougou-sellergoods-interface(jar),依赖pojo
-
pinyougou-sellergoods-service(war),端口9001
//拷贝web.xml及spirng配置文件 //pom依赖interface和dao
-
pinyougou-manager-web(war),端口9101
//拷贝web.xml及spring配置文件,注意dubbo地址配置 //pom依赖service子模块
代码实现brand品牌的查询
1.sellergoods-interface层创建
package com.pinyougou.sellergoods.service; import java.util.List; import com.pinyougou.pojo.TbBrand; public interface BrandService { public List<TbBrand> findAll(); }
2.sellergoods-service层创建
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() { // TODO Auto-generated method stub return brandMapper.selectByExample(null); } }
3.在com.pinyougou.manager.controller包下创建BrandContrlller
@RestController//相当于之前的@Contraller和@ResponseBody两个注解 @RequestMapping("/brand") public class BrandController{ @Reference private BrandService brandService; @RequestMapping("/findAll") public List<TbBrand> findAll(){ return brandService.findAll(); } }
4.测试
-
tomcat7:run运行sellergoods-service
-
tomcat7:run运行manager-web输入http://localhost:9101/brand/findAll.do
-
==注意多清理掉仓库中的maven生成的不用的项目jar包,clean,install命令多尝试==
-