- 搭建SpringMVC框架需要Spring支持
- pom.xml依赖spring-mvc和spring-context
1 | <dependency> |
- 配置web.xml
1 | <?xml version="1.0" encoding="UTF-8"?> |
其中,必要的配置就是指定servlet和listener。
- ContextLoaderListener指定了IOC容器初始化的方法
- DispatcherServlet则定义了mvc的相关内容,并配置拦截的url,如上面所示,所有/开头的请求,都会通过SpringMVC这个servlet进行处理。
他们都需要一个xml文件,默认位置上面已经说过了。
- Spring配置文件(applicationContext.xml)。空的,并没有任何bean
1 | <beans |
- SpringMVC配置文件(SpringMVC-servlet.xml)。包含扫描controller的配置
1 | <?xml version="1.0" encoding="UTF-8"?> |
- Controller文件,在包com.gaussli.controller下
1 | package com.gaussli.controller; |
- 添加spring-mvc和spring-context依赖后,maven会自动依赖所有关联的包
- spring-webmvc
- spring-beans
- spring-core
- spring-expression
- spring-web
- spring-context
- spring-aop
- aopalliance
- commons-logging
- spring每个jar作用
- spring.jar
包含有完整发布模块的单个jar包。但不包括mock.jar、aspect.jar、spring-portlet.jar、and spring-hibernate2.jar。 - spring-src.zip
所有的源代码压缩包。
除了spring.jar文件,Spring还包括有其它21个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择
- spring-core.jar
这个jar文件包含Spring框架基本的核心工具类。Spring其它组件都要使用到这个包里的类,是其它组件的基本核心,当然也可以在自己的应用系统中使用这些工具类。
外部依赖Commons Logging, (Log4j)
- spring-beans.jar
这个jar文件是所有应用都要用到的,它包含访问配置文件、创建喝管理bean,以及进行Inversion of Control(IoC) / Dependency Injection(DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入spring-core.jar和spring-beans.jar文件就可以了。
外部依赖spring-core.jar, (CGLIB)
- spring-aop.jar
这个jar文件包含在应用中使用Spring的AOP特性时所需的类喝源码级元数据支持。使用基于AOP的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。
外部依赖spring-core, (spring-beans, AOP Alliance, CGLIB, Commons Attributes)
- spring-context.jar
这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,instrumentation组件以及检验Validation方面的相关类。
外部依赖spring-beans, (spring-aop)
- spring-dao.jar
这个jar文件包含Spring DAO、Spring Transaction进行数据访问的所有类。为了使用声明型事物支持,还需在自己的应用里包含spring-aop.jar。
外部依赖spring-core, (spring-aop, spring-context, JTA API)
- spring-jdbc.jar
这个jar文件包含对Spring对JDBC数据访问进行封装的所有类。
外部依赖spring-beans, spring-dao
- spring-support.jar
这个jar文件包含支持UI模版(Veloctity、FreeMarker、JasperReports),邮件服务,脚本服务(JRuby),缓存Cache(EHCache),任务计划Scheduling(uartz)方面的类。
外部依赖spring-context, (spring-jdbc, Velocity, FreeMarker, JasperReports, BSH, Groovy, JRuby, Quartz, EHCache)
- spring-web.jar
这个jar包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入Web Application Context特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。
外部依赖spring-context, Serlvet API, (JSP API, JSTL, Commons FileUpload, COS)
- spring-webmvc.jar
这个jar文件包含Spring MVC框架相关的所有类。包括框架的Servlets、Web MVC框架、控制器喝视图支持。当然,如果应用使用了独立的MVC框架,则无需这个jar文件里的任何类。
外部依赖spring-web, (spring-support, Tiles, iText, POI)
- spring-portlet.jar
spring自己实现的一个类型Spring MVC的框架。包括一个MVC框架和控制器
外部依赖spring-web, Portlet API, (spring-webmvc)
- spring-struts.jar
Struts框架支持,可以更方便更容易的集成Struts框架
外部依赖spring-web, Struts
- spring-remoting.jar
这个jar文件包括支持EJB、远程调用Remoting(RMI、Hession、Burlap、Http Invoker、JAX-RPC)方面的类。
外部依赖spring-aop, (spring-context, spring-web, Hession, Burlap, JAX-RPC, EJB API)
- spring-jmx.jar
这个jar包提供了对JMX 1.0/1.2的支持类。
外部依赖spring-beans, spring-aop, JMX API
- spring-jca.jar
对JCA 1.0的支持
外部依赖spring-beans, spring-dao,JCA API
- spring-jdo.jar
对JDO 1.0/2.0的支持
外部依赖spring-jdbc, JDO API, (spring-web)
- spring-jpa.jar
对JPA 1.0的支持
外部依赖spring-jdbc, JPA API, (spring-web)
- spring-hibernate2.jar
对Hibernate2.1的支持,已经不建议使用。
外部依赖spring-jdbc, Hibernate2, (spring-web)
- spring-hibernate3.jar
对Hibernate3.0/3.1/3.2的支持
外部依赖spring-jdbc, Hibernate3, (spring-web)
- spring-toplink.jar
对TopLink框架的支持
外部依赖spring-jdbc, TopLink
- spring-ibatis.jar
对iBATIS SQL Maps的支持
外部依赖spring-jdbc, iBATIS SQL Maps
- spring-mock.jar
这个jar文件包括Spring一整套mock类来辅助应用的测试。Spring测试套件使用了其中大量mock类,这样测试就更加简单。模拟HttpServletRequest和HttpServletResponse类在Web应用单元测试是很方便的。并且提供了对JUnit的支持。
外部依赖spring-core
- spring-aspects.jar
提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中,比如Eclipse AJDT - spring-agent.jar
Spring的InstrumentationSavingAgent(为InstrumentationLoadTimeWeaver),一个设备代理包,可以参考JDK1.5的Instrumentation功能获得更多信息。
外部依赖none (for use at JVM startup:”-javaagent:spring-agent.jar”)
- spring-tomcat-weaver.jar
扩展Tomcat的ClassLoader,使其可以使用instrumentation(设备)类
外部依赖none (for deployment into Tomcat’s “server/lib” directory)
(•̀ᴗ•́)و ̑̑