构建最基础的Spring项目及所需要的jar包
2024-09-30 15:46:48
1.Spring 框架由6个模块组成
- 上图是spring4的结构图,不同版本结构略有差异,但模块都是相同的。
2.Core Container 核心容器
- 容器是Spring的核心部分,Core Container 模块是Spring框架的基础,所有模块都构建于核心模块之上。
- Beans : Beans模块是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Depen-dency Injection(IoC/DI)操作相关的所有类。
- Core : Core模块主要包含Spring框架基本的核心工具类,Spring的其他组件要都要使用到这个包里的类,Core模块是其他组件的基本核心。当然你也可以在自己的应用系统中使用这些工具类。
- Context : Spring的上下文即IoC容器,通过上下文可以获得容器中的Bean。 ApplicationContext接口是Context模块的关键。 Context模块构建于Core和Beans模块基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法。
- SpEl : Expression Language模块提供了一个强大的表达式语言用于在运行时查询和操纵对象。
3.Core Container 依赖关系
- 核心模块中的部分并不是独立的,他们之间相互依赖着
- 因为spring-core依赖了commons-logging,而其他模块都依赖了spring-core,所以整个spring框架都依赖了commons-logging。
- 如依赖关系Spring离不开日志,但是日志框架有多种也不一定使用commons-logging如果有自己的日志实现如log4j,可以排除对commons-logging的依赖,没有日志实现而排除了commons-logging依赖,编译报错。关于Spring日志框架请看这篇博文
4. 构建最基础的Spring项目
- 核心容器四个包
- spring-beans-4.1.3.RELEASE.jar
- spring-context-4.1.3.RELEASE.jar
- spring-core-4.1.3.RELEASE.jar
- spring-expression-4.1.3.RELEASE.jar
- 核心容器依赖的日志包
- commons-logging-1.2.jar
- log4j-1.2.17.jar
- commons-logging相当于一个日志接口,log4j相当于该接口的实现,如果不添加log4j包也可以,因为commons-logging也有一个简单的实现会自动使用。
- 测试类包
- spring-test-4.1.3.RELEASE.jar
- junit-4.10.jar(高于4.10版本还需要hamcrest-core.jar + hamcrest-library.jar)
- 测试类用到了AOP必须导入aop包
- spring-aop-4.1.3.RELEASE.jar
这样一个Spring项目所需要的最基础的环境就搭建完成了。
最新文章
- js,格式化long类型日期封装
- 《TCP/IP详解 卷一》读书笔记-----DNS
- AOJ 739 First Blood
- 输入和输出的总结(c语言)
- luigi学习6--parameters详解
- desin pattern
- #ifndef#define#endif的用法
- Front-End Engineer 技术栈
- linux 下 apt命令集详解
- It's only too late if you decide it is. Get busy living, or get busy dying(转)
- javascript焦点图(能够自己主动切换 )
- 52. N-Queens II N皇后II
- 初识“FireBug”
- Linux内存、性能诊断中vmstat命令的详解
- Go语言 数据类型,流程控制
- pygame经典sprite精灵类
- ASP.NET 页面访问控制
- thinkphp 使每一个模板页都包括一个header文件和一个footer文件
- notepad++正则表达式删除所有行某字符开始之前或者之后所有字符
- python排序算法的整理
热门文章
- 阿里云ECS环境部署 centos 6.5
- 【arc075F】Mirrored
- Lipshitz
- python基础----__slots__方法、__call__方法
- Git 自动补全
- 流媒体协议之JRTPLIB的使用20170919
- bzoj 1513 POI2006 Tet-Tetris 3D 二维线段树+标记永久化
- apk签名验证机制
- [LeetCode] 26. Remove Duplicates from Sorted Array ☆
- FTP、SFTP文件下载内容校验