阿里P7级架构师总结Spring核心模块及功能汇总

如果你在使用Spring,而且没有使用SpringBoot,那么每个Spring的功能都需要引入相应的jar包依赖。而Spring的jar包依赖又有一二十个,很容易混淆,造成编译或运行错误。

下面我们就整理一下Spring3和Spring4的核心模块和对应的jar包,方便我们在具体使用的过程中更加清晰的了解到我们都需要什么。

与Spring3相比去掉了Struts,新增了Messaging和Websocket。

分析上面的框架结构图,大概包括以下模块和jar包依赖。

核心容器(Core Container)

  • spring-core:核心类库,其他模块大量使用此jar包;
  • spring-beans:Spring定义Bean的支持;
  • spring-context:运行时Spring容器;
  • spring-context-support:Spring容器对第三方包的集成支持,比如邮件服务、视图 解析
  • spring-expression:Spring表达式语言

AOP

  • spring-aop:基于代理的AOP支持;
  • spring-aspects:基于AspectJ的AOP支持;
  • spring-instrument:提供一些类级的工具支持和ClassLoader级的实现,用于服务器;
  • spring-instrument-tomcat:针对tomcat的instrument实现;

数据访问/集成

  • spring-jdbc:提供以jdbc访问数据库的支持;
  • spring-tx:提供编程式和声明式事务支持;
  • spring-orm:提供对象/关系映射支持;
  • spring-oxm:提供对象/xml映射支持;
  • spring-jms:提供对JMS(java消息服务)的支持;

web

  • spring-web:提供基础的web集成功能;
  • spring-webmvc:基于servlet的MVC;
  • spring-webmvc-portlet:基于portlet的mvc实现;
  • spring-websocket:提供websocket功能;

test&messaging

  • spring-test:spring测试,提供junit与mock测试功能;
  • spring-messaging:对消息架构和协议的支持;

当我们清晰明了的知道Spring的每个模块都需要引入什么jar包时,出错的概率也将大大减少,当然,如果能够使用Springboot,问题将会更加简化。

欢迎Java工程师朋友们加入Java高级架构进阶: 963944895,群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

转载于:https://juejin.im/post/5c9cc2b76fb9a070cb24c496

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值