Java Web前端到后台的常用框架介绍( 二 )

  • 获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果 。
  • 根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果 。
  • 释放连接资源 。
  •  
    (4)返回处理结果将最终的处理结果返回 。
    MyBatis 最强大的特性之一就是它的动态语句功能 。如果您以前有使用JDBC或者类似框架的经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在columns列后面省略一个逗号等 。动态语句能够完全解决掉这些痛苦 。
    04 Dubbo
     
    参考博文:http://blog.csdn.net/u013142781/article/details/50387583
     
    Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC(远程过程调用协议)远程服务调用方案,以及SOA服务治理方案 。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架 。
    1、透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入 。
    2、软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点 。
    3、 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者 。
    节点角色说明:
    • Provider: 暴露服务的服务提供方 。
    • Consumer: 调用远程服务的服务消费方 。
    • Registry: 服务注册与发现的注册中心 。
    • Monitor: 统计服务的调用次数和调用时间的监控中心 。
    • Container: 服务运行容器 。
     
    05 Maven
     
    参考博文:http://blog.csdn.net/u013142781/article/details/50316383
     
    Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包 。但是对于我们程序员来说,我们最关心的是它的项目构建功能 。
    06 RabbitMQ
     
    参考博文:http://blog.csdn.net/u013142781/article/category/6061896
     
    消息队列一般是在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量 。
    RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器 。
    Erlang是一门动态类型的函数式编程语言 。对应到Erlang里,每个Actor对应着一个Erlang进程,进程之间通过消息传递进行通信 。相比共享内存,进程间通过消息传递来通信带来的直接好处就是消除了直接的锁开销(不考虑Erlang虚拟机底层实现中的锁应用) 。
    AMQP(Advanced Message Queue Protocol)定义了一种消息系统规范 。这个规范描述了在一个分布式的系统中各个子系统如何通过消息交互 。
    07 Log4j
     
    参考博文:http://blog.csdn.net/u013142781/article/category/6045728
     
    日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别 。
    08 Ehcache
     
    参考博文:http://blog.csdn.net/u013142781/article/category/6066337
     
    EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider 。Ehcache是一种广泛使用的开源Java分布式缓存 。主要面向通用缓存,Java EE和轻量级容器 。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点 。
    优点:
    • 快速
    • 简单
    • 多种缓存策略
    • 缓存数据有两级:内存和磁盘,因此无需担心容量问题
    • 缓存数据会在虚拟机重启的过程中写入磁盘
    • 可以通过RMI、可插入API等方式进行分布式缓存
    • 具有缓存和缓存管理器的侦听接口
    • 支持多缓存管理器实例,以及一个实例的多个缓存区域
    • 提供Hibernate的缓存实现
     
    缺点: