【javaEE】springMVC依赖分析
来源:互联网 发布:linux互斥锁原理 编辑:程序博客网 时间:2024/06/07 12:22
以下为一个自学者的探索过程,内容准确性不予保证
一般来说,在java项目里引入一个框架,一个功能,往往1-3个jar就可以解决依赖问题了。
这次试着自己搭建下ssm框架,百度spring+springMVC所需jar包时,着实被吓到了。一堆jar,不知道哪些是必须的。
遂决定还是从官网找答案吧。spring官网有许多项目,我目前用到应该只有spring boot和springFramework,前者应该是简化spring部署用的。
从springFramework的文档入手:
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#overview-getting-started-with-spring
从上图中可以看出,一个spring框架的技术构成。
1.The Core Container consists of the spring-core, spring-beans, spring-context, spring-context-support, and spring-expression (Spring Expression Language) modules.
核心部分Core Container,由spring-core, spring-beans, spring-context, spring-context-support, 和spring-expression 构成。
spring-core, spring-beans提供控制反转和依赖注入功能,
spring-context类似jndi注册处,提供资源绑定加载,事件广播,还有EJB, JMX, 和basic remoting等javaEE特征
spring-context-support提供第三方库集成到spring应用,如缓存 caching (EhCache, Guava, JCache), 邮件mailing (JavaMail), 计划任务scheduling (CommonJ, Quartz) 和模板引擎template engines (FreeMarker, JasperReports, Velocity)
spring-expression 类似EL语言,是对EL的一种扩展
2.aop和instrument部分,由spring-aop,spring-aspects,spring-instrument,spring-instrument-tomcat构成。
spring-aop允许开发者定义方法拦截器和切点
spring-aspects用于aspectj面向切面编程的集成,
spring-instrument用于集成特定容器,
spring-instrument-tomcat提供tomcat的集成
3.spring-messaging与一些基于消息的应用的集成,提供一些消息相关的注解
4.The Data Access/Integration layer consists of the JDBC, ORM, OXM, JMS, and Transaction modules.
数据集成部分Data Access/Integration,由spring-jdbc,spring-tx,spring-orm,spring-oxm,spring-jms构成。
spring-jdbc使你免于编写数据库连接代码
spring-tx提供事务管理,
spring-orm允许开发者使用O/R对象关系映射框架,和上面提到的事务管理,
spring-oxm允许将spring-orm抽象成XML映射,即以xml文件来描述映射,
spring-jmsJAVA消息服务,生成和消费消息,与spring-messaging集成
5.The Web layer consists of the spring-web, spring-webmvc, spring-websocket, and spring-webmvc-portlet modules.
web层,由spring-web, spring-webmvc, spring-websocket, spring-webmvc-portlet构成
spring-web包含http客户端,多文件上传,利用监听器进行ioc容器初始化,提供应用上下文等功能
spring-webmvc提供MVC和REST WEB服务实现
spring-webmvc-portlet允许spring-webmvc用于Portlet组件环境(插件式管理?)
6.测试层
图片看不清,请右键在新标签中打开
spring基于maven的版本管理
版本管理依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>4.3.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
引用中由依赖管理插件统计管理version版本
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependencies>
附:官网利用spring boot搭建项目地址
http://start.spring.io/#
- 【javaEE】springMVC依赖分析
- JavaEE项目配置SpringMVC环境
- SpringMvc常用依赖包
- SpringMVC jackson maven依赖
- 初学JavaEE之spring mvc依赖包
- JavaEE中的依赖性——依赖查找
- JavaEE框架Bootstrap、HTML5、jQuery、SpringMVC
- javaEE之------SpringMVC中ResourceBundleViewResolver简单应用
- javaEE之------SpringMVC中ParameterMethodNameResolver应用
- javaEE 后台框架 SpringMVC Mybatis Shiro druid
- JavaEE框架Bootstrap、HTML5、jQuery、SpringMVC
- JavaEE框架——Springmvc的使用
- javaEE之------SpringMVC中ParameterMethodNameResolver应用
- JavaEE框架Bootstrap HTML5 jQuery SpringMVC maven
- JavaEE框架Bootstrap、HTML5、jQuery、SpringMVC
- SpringMVC 分析
- springMVC 学习(什么是依赖注入)
- SpringMVC默认依赖Bean:BeanNameUrlHandlerMapping
- __block和__weak修饰符的区别
- ++i 与 i++ 效率的问题
- MATLAB 自带 神经网络工具包
- 安卓开发 颜色代码 一览表。
- NSArray数组的遍历
- 【javaEE】springMVC依赖分析
- 合并有序数组
- 斐波那契数列
- SAP 金税接口介绍
- 欢迎使用CSDN-markdown编辑器
- Android 工具之hierarchyviewer
- php对应芝麻信用点滴
- Linux SSH公钥认证配置
- java 设计模式