zoukankan      html  css  js  c++  java
  • 品优购工程创建

    parent工程

    首先创建一个 maven Project   maven工程 ,pom类型

    pojo工程

    然后建立 maven Model 模块,jar类型

    dao工程

    maven Model 模块,jar类型

    技巧:创建模块工程时可以先选中 parent 工程,然后再 ctrl+n 创建,这样就会自动继承 parent了:

    下面 Parent 会自动填好的。

    商家商品服务接口:

    同理,继续创建 model ,jar模式 的 sellergoods-interface 工程

    商家商品服务模块:

    然后创建 model, war模式的 sellergoods-service工程

    因为这个service工程是要部署到tomcat提供服务的,所以用 war 模式,但他还是个 模块。

    同理创建运营商管理后台manager-web,model、war

    创建商家管理后台shop-web,model、war

    ======

    dao层的pom中需要引入  mybatis 的相关 jar、mybatis和spirng整合的jar、mybatis第三方分页插件pagehelper的jar、数据库mysql的相关jar,数据库连接池druid的jar。

    还需要

    jdbc配置文件 jdbc.properties,

    mybaties相关配置文件SqlMapConfig.xml,

    spring配置文件 applicationContext-dao.xml。

    另外 dao 项目需要依赖 pojo ,所以要在 pom 中添加依赖。

    同理,interface项目也要添加对pojo的依赖

    然后 service项目的 pom 中添加  spring、springMVC、dubbo、servlet 等相关依赖。

    service项目中还需要在 spirng配置文件中配置 dubbo,配置如下:

    applicationContext-service.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
            http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
        
        <!-- 你自己(当前项目所在服务器)访问注册中心要用的端口
        注意:如果当前电脑中部署启动了多个dubbo服务,那么要配置不同的端口去访问注册中心,否则会因为端口占用而出错
         -->
        <dubbo:protocol name="dubbo" port="20881"></dubbo:protocol>
        <!-- 自定义的要暴露服务的服务器(项目)名称,可以用当前工程名 -->
        <dubbo:application name="pinyougou-sellergoods-service"/>
        <!-- dubbo注册中心的地址 -->  
        <dubbo:registry address="zookeeper://192.168.25.128:2181"/>
        <!-- 需要扫描的 dubbo相关注解所在的包 -->
        <dubbo:annotation package="com.pinyougou.sellergoods.service.impl" />  
       
    </beans>

    注意第一行  <dubbo:protocol name="dubbo" port="20881"></dubbo:protocol>     ,这个如果我们当前电脑上只跑一个 dubbo 的服务,那么这行可以省略,它会使用默认端口  20880 去访问 zookeeper 注册中心。但是,当我们在同一台电脑上跑多个 dubbo 服务的话,就要加上这一行,而且不同服务要配置不同的端口,比如下一个服务用20882端口,否则会出现端口占用的错误。

    然后我们服务层还需要 依赖 dao层和interface层,在pom中引入。

    =====

    web层,引入 pom 依赖(修改tomcat启动端口),添加 配置文件。

    看一下 manage-web 项目中的 spirng配置文件:

    springmvc.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
            http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
        <context:property-placeholder location="classpath:config/application.properties" />
        
        <mvc:annotation-driven>
          <mvc:message-converters register-defaults="true">
            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">  
              <property name="supportedMediaTypes" value="application/json"/>
              <property name="features">
                <array>
                  <value>WriteMapNullValue</value>
                  <value>WriteDateUseDateFormat</value>
                </array>
              </property>
            </bean>
          </mvc:message-converters>  
        </mvc:annotation-driven>
    
        <!-- 引用dubbo 服务 -->
        <!-- 暴露服务器名(项目名) -->
        <dubbo:application name="pinyougou-manager-web" />
        <!-- zookeeper注册中心地址 -->
        <dubbo:registry address="zookeeper://192.168.25.128:2181"/>
        <!-- web项目中的dubbox扫描包 -->
        <dubbo:annotation package="com.pinyougou.manager.controller" />      
    
    </beans>

    注意:web层要添加对 接口 interface的依赖:

    ===

    mybaties 代码生成器生成 pojo、mapper等文件,复制到对应的工程,

    然后要注意,每个pojo都应该实现 序列化接口,因为现在各个pojo要在网络上传输。(原来都是在本地调用,所以不需要,现在都是通过dubbo网络调用,所以必须要实现接口)

    ====

     然后编写代码

    现在接口项目中写接口:

    然后在 service 项目中写 实现类:

    注意,代码中 要加入 dubbox 的 @Service 注解。

    然后在 web项目中写Controller:

    注意,接口注入上面要用 @Reference 注解。

    这里Controller类上用的注解是 @RestController,其实这个注解就是相当于原来的 @Controller注解 + @ResponseBody 注解,用这个注解,我们就不用在类中的每一个方法上都写 @ResponseBody注解了。

    代码都写完成后,因为我们除了 parent项目是 maven Project 项目外,其他所有项目都是 继承于 parent 项目的 Model模块项目,所以,写完代码后,我们可以在 parent项目上右键,Run as —— maven install  ,这样就会安装 所有的 model 项目,如果通过,我们再继续。

    都成功了,这样我们先启动 service项目,再启动 web项目,然后访问,就OK了。

    说明远程接口调用成功,数据库访问成功。

  • 相关阅读:
    jQuery 间歇式无缝滚动特效分享(三张图片平行滚动)
    百度网页分享js代码
    如何在linux中搭建JEECMS系统
    Python菜鸟之路:Python基础-类(2)——成员、成员修饰符、异常及其他
    Python菜鸟之路:Python基础-类(1)——概念
    Python菜鸟之路:Python基础-生成器和迭代器、递归
    Python菜鸟之路:Python基础-逼格提升利器:装饰器Decorator
    Python菜鸟之路:Python基础-内置函数补充
    Python菜鸟之路:Python基础——函数
    Python菜鸟之路:Python基础(三)
  • 原文地址:https://www.cnblogs.com/libin6505/p/9962663.html
Copyright © 2011-2022 走看看