实战项目巴巴运动网要点总结

1.项目架构

       传统项目架构:

优点:层级分离,耦合性降低,便于维护

缺点:代码冗余过大,service,dao

实战项目巴巴运动网要点总结_第1张图片

新技术架构:

使用技术:dubbo,maven,zookper

实战项目巴巴运动网要点总结_第2张图片


项目脉络:

项目架构:
    |——baba-parent(父工程 pom)

                            |——babas-common(子工程 jar)
                                        |
                +-------——babas-pojo(子工程 jar)(需要引入common)-----------------+
                |                                                              |
        |——babas-dao(子工程 jar)(需要引入pojo)     |——babas-interface(子工程 jar)(需要引入pojo)
                |                                                         |
                |                                                         |
        |——babas-service-cob(子工程 购物车,用户  war)-----------------------+
        |——babas-service-cms(子工程 内容管理  war)--------------------------+
        |——babas-service-solr(子工程 检索  war) ----------------------------+
        |——babas-service-product(子工程 商品  war)--------------------------+
                                                                           +
        |——babas-portal(子工程 前台项目 war)---------------------------------+
        |——babas-console(子工程 后台项目 war)--------------------------------+
        |——babas-login(子工程 单点登录 war)----------------------------------+

语言描述:
    pojo依赖common
    dao和interface依赖pojo

    四个service依赖dao,interface
    三个war依赖interface

配置SpringContext.xml

史上最全的头文件

xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:task="http://www.springframework.org/schema/task"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
       http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd
       http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">


在service层加入事务

@Transactional

测试:throw new RunTimeException("异常");

结果:如果数据库插入的序号跳过一个,说明保存完回滚了


service层需要spring配置,即applicationContext.xml

service的项目的web.xml中只需要配置读取配置 即可

controller层需要spring-mvc配置,即spring-mvc.xml

controller的项目的web.xm中需要配置读取配置文件以及前端控制器despatcher


Dubbo原理图:

实战项目巴巴运动网要点总结_第3张图片

实战项目巴巴运动网要点总结_第4张图片


注意:Dubbo传递的参数必须实现序列化。不然会报错

消费者找不到服务端可能是没有配置文件引入

DEMO

服务提供者:

    
    
    
    
    
    
    
    
    
    
    

服务消费者:

    
    
    
    
    
    
    
    
    

Dubbo的优化

实战项目巴巴运动网要点总结_第5张图片

1.设置链接超时时间(全局)

2.直接链接

服务提供方:

    
    
    
    
    
    
    
    
    
    
    
    
    

服务消费方:

    
    
    
    
    
    
    
    
    
    
    
    
    


3.设置不检查

由于dubbo在启动的时候必须检查注册中心以及服务提供方是否存在,不存在则抛出异常
不检查的对象:服务消费方,因为只有服务消费启动的时候才会去检查注册中心以及服务提供方是否存在

    
    
    
    
    
    
    
    
    
    
    
    
    

你可能感兴趣的:(Web项目)