maven 依赖总结 (spring依赖结构、log4j依赖 、其他常用依赖)

文章目录

    • 1、Spring 各级架构(依赖间的关系)
      • 1.1、spring 依赖结构
        • ① core Container 核心容器
        • ② AOP和设备支持
        • ③ 数据访问与集成
        • ④ Web组件
        • ⑤ 通信报文
      • 1.2、spring boot 依赖
      • 1.3、spring-web与Spring-webmvc
      • 1.4、spring-context
    • 2、maven常用依赖

1、Spring 各级架构(依赖间的关系)

1.1、spring 依赖结构

下面是spring4 的官方结构图

maven 依赖总结 (spring依赖结构、log4j依赖 、其他常用依赖)_第1张图片

① core Container 核心容器

  1. spring-Core

    依赖注入IoC与DI的最基本实现

  2. Spring-beans

    Bean工厂与bean的装配

  3. spring-context

    扩展了BeanFactory,为它添加了Bean生命周期控制、框架事件体系以及资源加载透明化功能。此外该模块还提供了许多企业级支持,如邮件访问、远程访问、任务调度等,ApplicationContext是该模块的核心接口,它的超类是BeanFactory。

    ​ 3.1、spring-context-support模块是对Spring IOC容器的扩展支持。

    ​ 3.2、spring-context-indexer模块是Spring的类管理组件和Classpath扫描。

  4. spring-expression

    统一表达式语言(EL)的扩展模块,可以查询、管理运行中的对象,同时也可以方便的调用对象方法、操作数组、集合等。

② AOP和设备支持

  1. spring-aop

    AOP主要的实现模块,实现比如前置通知、返回通知、异常通知等。

  2. spring-aspects

    集成自AspectJ框架,主要为Spring AOP提供多种AOP实现方法。

  3. spring-instrument

    提供一些类级的工具支持和ClassLoader级的实现,用于服务器

    3.1、 spring-instrument-tomcat:针对tomcat的instrument实现

③ 数据访问与集成

  1. spring-jdbc

    DBC抽象框架的主要实现模块,用于简化Spring JDBC操作。

  2. spring-tx

    JDBC事物控制实现模块。事物控制放在业务逻辑层,基于具体的业务逻辑为基础,如果事物操作失败,则整个事物回滚。

  3. spring-orm

    orm框架支持模块,主要集成Hibernate、JPA和JDO,用于资源管理、数据访问对象(DAO)的实现和事物策略。

  4. spring-oxm

    xml与java转化。

  5. spring-jms

    发送和接收消息。

④ Web组件

  1. spring-web

    最基础的web支持,最基础的web支持。

  2. spring-webmvc

    依赖于 spring-web ,封装view层。

  3. spring-websocket

    与Web前端的全双工通讯的协议。

  4. spring-webflux

    非阻塞函数式Reactive Web框架,可以用来建立异步的、非阻塞、事件驱动的服务,并且扩展性非常好。

⑤ 通信报文

  1. spring-messaging

    Spring4开始新加入的模块,主要职责是为Spring框架集成一些基础的报文传送应用。

各模块间依赖关系

maven 依赖总结 (spring依赖结构、log4j依赖 、其他常用依赖)_第2张图片

1.2、spring boot 依赖

  1. spring-boot-starter : 核心启动器,包含了自动配置、日志和YAML。
  2. spring-boot-starter-web: 构建 Web 应用,包括 RESTful。Tomcat 是默认的内嵌容器。
  3. spring-boot-starter-data-jpa : 使用 Hibernate 实现 Spring Data JPA。
  4. spring-boot-starter-cache : 使用 Spring 框架的缓存支持。
  5. spring-boot-starter-security : 安全框架,用于用户认证和用户授权。
  6. spring-boot-starter-aop : 切面编程,实现比如前置通知、返回通知、异常通知等,实现比如前置通知、返回通知、异常通知等。
  7. spring-boot-starter-thymeleaf :解析html、xml等。
  8. spring-boot-starter-websocket :支持WebSocket开发。
  9. spring-boot-starter-log4j :支持Log4J日志框架。
  10. spring-boot-starter-logging :Spring Boot默认的日志框架Logback。
  11. spring-boot-starter-tomcat:在spring-boot-starter-web中已经引入了内置tomcat,这个一般在更改内置web容器时使用。
  12. spring-boot-starter-undertow :web引擎undertow,可以替换内置的Tomcat。
  13. spring-boot-starter-jetty : web引擎jetty,可以替换内置的Tomcat。

1.3、spring-web与Spring-webmvc

依赖关系

  • spring-webmvc 是 依赖于 spring-web 的。

  • 在maven中,使用spring-webmvc会自动包含spring-web。

各自包含的内容

  • spring-web:controlle层的核心封装。
  • spring-webmvc:view层的核心封装,提供各前端技术及标签支持。

引入spring-webmvc一个依赖,会把下列关系图中的依赖全部引入
maven 依赖总结 (spring依赖结构、log4j依赖 、其他常用依赖)_第3张图片
maven 依赖总结 (spring依赖结构、log4j依赖 、其他常用依赖)_第4张图片

1.4、spring-context

引入spring-webmvc一个依赖,会把下列关系图中的依赖全部引入
maven 依赖总结 (spring依赖结构、log4j依赖 、其他常用依赖)_第5张图片
maven 依赖总结 (spring依赖结构、log4j依赖 、其他常用依赖)_第6张图片

2、maven常用依赖

  1. junit : java单元测试框架

  2. slf4j-api :SLF4J是日志实现接口,后台可以使用log4j、logback、logging等日志类库去实现。

  3. log4j :log4j日志类库。包含.class.

  4. log4j-core :log4j日志类库。包含.class与.java(源码)。

  5. log4j-api : log4j日志类库接口,需要搭配log4j 或log4j-core使用。

    需要注意的是
    Spring Boot 只有1.3.x和1.3.x以下版本才支持log4j的日志配置,1.3.x以上版本只支持log4j2。

  6. mybatis : mybatis依赖包,持久层框架,几乎免除了JDBC代码,通过 XML 或注解来配置。

  7. mybatis-spring : spring中整合mybatis。

  8. mybatis-plus :(简称 MP)是一个 MyBatis 的增强工具。

  9. mysql-connector-java : mysql的依赖。

  10. c3p0 : 数据库连接池,优化数据库连接。

连接池是将已经创建好的连接保存在池中,当有请求来时,直接获取连接池中的有效连接对数据库进行访问,省略了创建连接和销毁连接的过程。这样性能上得到了提高。

  1. Servlet:HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

下面两个都是Servlet 规范包,只是版本不同
3.1 之前的 Servlet API 构件叫做 servlet-api-xxx.jar
3.1 及之后的Servlet API 构件改名为 javax.servlet-api-xxx.jar

你可能感兴趣的:(java系列,spring,maven,依赖)