学习SpringMVC做一些笔记总结作为学习的见证
环境要求:
- JDK:1.8
- Tomcat版本: tomcat8
- 项目构建:Maven
- sping版本:4.1.6.RELEASE
项目创建步骤
参考https://my.oschina.net/LevelCoder/blog/908175
项目文件配置说明
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.levelcoder</groupId>
<artifactId>demos</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>demo-springmvc</artifactId>
<packaging>pom</packaging>
<modules>
<!-- 第一章节:HelloWorld -->
<module>demo-springmvc_1</module>
<!-- 第二章节:@RequestMapping注解 -->
<module>demo-springmvc_2</module>
<!-- 第三章节:HiddenHttpMethodFilter 初识REST -->
<module>demo-springmvc_3</module>
<!-- 第四章节:@RequestParam注解 -->
<module>demo-springmvc_4</module>
<!-- 第五章节:@RequestHeader注解 -->
<module>demo-springmvc_5</module>
<!-- 第六章节:@CookieValue注解 -->
<module>demo-springmvc_6</module>
</modules>
<properties>
<!--配置统一源代码编译编码方式 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.1.6.RELEASE</spring.version>
<aspect.version>1.7.4</aspect.version>
<commons-logging.version>1.2</commons-logging.version>
<commons-logging-api.version>1.1</commons-logging-api.version>
<servlet.api.version>3.1.0</servlet.api.version>
</properties>
<!-- 管理jar包的版本,让子项目中引用一个依赖而不用显示的列出版本号 -->
<dependencyManagement>
<dependencies>
<!-- *********************spring 依赖 **************************-->
<!-- Spring的面向切面编程,提供AOP(面向切面编程)的实现 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<!--Spring提供的对AspectJ框架的整合 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring IOC的基础实现,包含访问配置文件、创建和管理bean等。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<!--Spring的核心工具包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<!--Spring context的扩展支持,用于MVC方面。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 整合第三方的orm实现,如hibernate,ibatis,jdo以及spring 的jpa实现-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring对于object/xml映射的支持,可以让JAVA与XML之间来回切换-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<!--包含SpringMVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、 Tiles、Velocity、XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<!--对JUNIT等测试框架的简单封装 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring表达式语言-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring-instrument模块提供了在普通应用服务器中使用到的类设备支持和加载器实现 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring-instrument-tomcat模块包含了Spring的Tomcat设备代理。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument-tomcat</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring-jdbc JDBC支持包,包括数据源设置和JDBC访问支持 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring集成项目Message、MessageChannel和MessageHandler进行了重要的抽象,它是基于消息发送应用的基础。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- JMS支持包,包括JMS类发送和接收JMS消息 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring-webmvc-portlet模块提供了在Portlet环境下的MVC实现。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc-portlet</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- sockjs WebSocket和实现,包括STOMP支持 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspect.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<scope>runtime</scope>
<version>${aspect.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging-api</artifactId>
<version>${commons-logging-api.version}</version>
</dependency>
<!-- servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet.api.version}</version>
</dependency>
<!-- jstl标签库 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
项目demo地址 http://git.oschina.net/LevelCoder/demos