Java常用框架知识整理

  1. Spring

    a.Spring Framework包括IOC,依赖注入,Context上下文,Bean管理,SpringMVC等众多的功能模块

    b.SpringBoot依赖Spring框架,目标是简化Spring应用服务的创建开发与部署,简化了配置文件,使用嵌入式的Web服务,还有诸多开箱即用的微服务功能,可以和SpringCloud联合部署,核心思想是约定大于配置,只需要很少的配置即可,简化了应用开发模式。

    c.Spring Data是一个数据访问和操作的工具集,封装了对多种数据源的操作能力,包括JDBC,Redis,MongoDB等

    d.SpringCloud的是一套微服务解决方案,是一系列不同功能的微服务框架的集合,SpringCloud基于SpringBoot,简化了分布式系统开发,集成了服务发现,配置管理,消息总线,负载均衡,断路器,数据监控等服务治理能力,比如Sleuth提供了全链路追踪能力,Netflix提供了Hystrix熔断器网关等众多的治理组件,Config组件提供了动态的配置能力,Bus组件集成了RabbitMQ,Kaffka,ActiveMQ等消息队列,实现分布式服务之间的事件通信,SpringSecurity用于快速构建安全的应用程序和服务。(SpringBoot和SpringSecurity OAuth2.0的基础上可以快速实现常见安全模型如单点登录,令牌中继,令牌交换,OAuth2.0的授权机制和JWT的认证方式可以了解一下)OAuth2.0是一种授权机制规定了完备的授权流程,JWT是一种把认证信息包含在Token中的认证实现,OAuth2.0的授权机制就可以应用JWT来作为认证的具体实现方法

  2. Struts
    曾经SSH中的控制层,目前更流行SSM组合,SpringMVC配置更加灵活,不存在和Spring整合的问题

  3. ORM
    ORM就是对象关系匹配,把关系数据库中的数据转化成面向对象中的对象
    常用的ORM框架有Hibernate和Mybatis

    a.Hibernate实现了对象与表的自动映射,只要定义好表与Pozhuao对象之间的映射关系,就可以通过Hibernate提供的方法完成数据库操作,符合JPA规范。

    b.Mybatis通过映射配置文件,将SQL所需的参数和返回的结果映射到指定对象,Mybaitis不会自动生成SQL,需要自己定义SQL语句,不过这样也更方便对SQL语句进行优化。

    总结起来,Hibernate配置要比Mybatis复杂,学习成本也比Mybatis高。Mybatis简单高效灵活,但是需要自己维护SQL。Hibernate功能强大全自动,需要自己适配数据库,但是非常复杂,灵活性稍差。

  4. Netty
    Netty是高性能的异步事件驱动的网络通信框架。Netty对JDK原生的NIO进行封装,简化了网络服务的开发。

  5. RPC服务

    Motan,Dubbo,grpc都是基于前面的Netty实现的。

  6. 常用的其他框架

    Jersey和RESTEasy就可以快速的开发Restful服务的框架,和SpringMVC相比,这两个框架都基于gaxrs标准。而SpringMVC基于serverlet使用自己构建的API,是两个不同的标准。
    Shiro框架是一个与SpringSecurity类似的开源权限管理框架,用于访问的授权,认证,加密及会话管理,能够支持单机以及分布式的Session管理,相比Security,Shiro更加简单易用。

Java常用框架知识整理_第1张图片

你可能感兴趣的:(JAVA)