zoukankan      html  css  js  c++  java
  • SPARROW架构介绍

    sparrow 框架设计最大化解耦,理论上业务层只依赖SPARROW-FACADE即可,接口可由第三方如spring c3p0 fastjson logback 具体实现。

    整体架构图如下:


    SPARROW 架构图   

    SPARROW-FACADE

    基础核心层,实现了一些框架和上层业务涉及到的一些工具类类,如图


    工具类库   

    包括bean properties 反射(非JDK反射)读写,class 集合类,日期,email ,文件 ,正则等常用工具类.核心功能,后文将一一介绍。

    sparrow-cg

    sparrow code generator 并不是简单的代码生成,而是为了反射提高效率,而专门实现的快速读写对象属性的工具包。

    sparrow-container

    相当于spring 的ioc容器,对sparrow-facade的container 接口的实现,目前主要是针对xml模式的bean解析与依赖注入。

    sparrow-datasource

    对jdk datasource接口的实现,主要是数据库链接池最基本的维护。

    sparrow-json

    对sparrow-json的实现,目前默认是对fastjson接口的封装。上层业务可自行替换,不影响上层业务代码。

    sparrow-log

    对slf4j接口的实现,只实现常用的log打印功能,上层业务可通过代码log4j或logback替换

    sparrow-mvc

    模拟spring mvc实现,上层业务可代理实现spring mvc替换

    sparrow-orm

    hibernate 与mybatis jpa三者,取其精华去其槽粕。实现简单,易用,可扩展,未来可实现跨数据库,跨数据源(hbase elastic search兼容) ,对上层业务换数据源不需要修改业务代码的切换。

    sparrow-mq

    对sparrow-facae mq 接口的实现,该模块对上层业务的mq调用代码进行封装,对各类mq产品实现兼容,即底层换mq产品,上层业务代码不需要修改,跨各类mq产品。

    sparrow-redis

    该模块对nosql 数据库接口进行封装,理论上支持各种nosql 数据库,对上层业务兼容。对redis key统一定义维护(这部分会专门有一篇文章去分析)

    本文,主要是对sparrow框架的整体构架做简单介绍,下文会针对每一个模块的核心代码展开分析 

    good night!

  • 相关阅读:
    547. Friend Circles
    399. Evaluate Division
    684. Redundant Connection
    327. Count of Range Sum
    LeetCode 130 被围绕的区域
    LeetCode 696 计数二进制子串
    LeetCode 116 填充每个节点的下一个右侧节点
    LeetCode 101 对称二叉树
    LeetCode 111 二叉树最小深度
    LeetCode 59 螺旋矩阵II
  • 原文地址:https://www.cnblogs.com/hiaming/p/8967781.html
Copyright © 2011-2022 走看看