品优购-Day01

学习目标:

目标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

  1. 本地JAR包安装

    1. 运行本地命令将jar包安到本地仓库

      mvn install:install-file -Dfile=d:\setup\dubbo-2.8.4.jar -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.8.4 -Dpackaging=jar

       

    2. 配置离线约束

      Preferences中xml部分/xml Catalog

      http://code.alibabatech.com/schema/dubbo/dubbo.xsd添加后选择Schema location

  2. 代码编写

    1. 服务提供方

      1. 创建maven工程dubbodemo_service,war工程

      2. 拷贝pom坐标,配置文件,Dubbox中的pom文件

      3. 拷贝web.xml文件

      4. 创建服务接口

        package cn.itcast.dubbodemo.service;
        ​
        public interface UserService{
            public String getName();
        }

         

      5. 创建服务实现类

        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";
           }
        }

         

      6. spring配置文件

    2. 服务消费方

      1. 创建maven工程dubbodemo_web的war工程

      2. 拷贝提供方一样的pom坐标,记得改一下端口号防止冲突,拷贝web.xml文件及springmvc.xml文件,拷贝提供方接口到消费方

      3. 创建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的管理后台

  1. 将懒人资源包中得dubbo-admin和tomcat服务器传linux中

    1. tar -zxvf 将apache解压缩

    2. 移动两个jar包到tomcat的webapp目录下,运行tomcat

    3. 192.168.25.131:8080/dubbo-admin 用户名root密码root登录

      注意:如果不是同一台主机需要修改WEB-INF中的dubbo.properties

      dubbo.registry.address=zookeeper://127.0.0.1:2181

5.搭建品优购框架

  1. 工程结构说明

    拷贝建库语句运行创建数据库 pinyougou.sql

  2. 项目架构

    1. pinyougou-parnet,资源中提供pom.xml,注意需要将packaging改为pom

    2. pinyougou-common

    3. pinyougou-pojo(实体层)

    4. pinyougou-dao(数据访问层)

      //1.pom依赖pojo
      //2.拷贝配置文件到resources目录
    5. 导入逆向工程generatorSqlmapCustom,修改数据库信息,生成pojo及mapper映射,pojo拷到pojo子模块mapper到dao,映射拷到dao层的resources目录,pojo类加序列化接口

    6. pinyougou-sellergoods-interface(jar),依赖pojo

    7. pinyougou-sellergoods-service(war),端口9001

      //拷贝web.xml及spirng配置文件
      //pom依赖interface和dao
    8. 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.测试

    1. tomcat7:run运行sellergoods-service

    2. tomcat7:run运行manager-web输入http://localhost:9101/brand/findAll.do

    3. ==注意多清理掉仓库中的maven生成的不用的项目jar包,clean,install命令多尝试==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值