
超级通道 :Spring MVC代码实例系列-绪论
本章主要记录如何通过JavaConfig方式代替xml搭建Spring MVC项目的实现,主要涉及以下知识点:
- @Configuration:声明一个类是配置文件
- @Bean:注册一个bean实例
- @EnableWebMvc:开启注解,等同于mvc:annotation-driven
- @ComponentScan:开启自动装配,等同于 context:component-scan
- WebApplicationInitializer接口:替代web.xml启动web项目的接口

- AbstractAnnotationConfigDispatcherServletInitializer:WebApplicationInitializer的一个实现类,负责配置DispatcherServlet、初始化Spring MVC容器和Spring容器。spring mvc dispatcherservlet
本文只是对JavaConfig配置方式的一个简单展示。spring mvc dispatcherservlet JavaConfig和XML的配置方式并不互斥,我习惯于JavaConfig和XML混搭的方式进行配置:
- 1.Spring的相关配置通过XML完成
- 2.基础服务如Solr、Redis等配置通过JavaConfig完成
- 3.业务类的bean注册和装配通过注解完成
本项目参考第一章的 Spring MVC代码实例系列-01:Spring MVC项目简单搭建与Hello Wolrd
src
\---main
\---java
| \---pers
| \---configuration
| | \---MyWebApplicationInitializer.java
| | \---MySpringMVCConfiguration.java
| \---myspringmvc
| \---hello
| \---HelloController.java
\---resources
\---webapp
\---helloworld
| \---helloworld.jsp
\---WEB-INF
\---index.jsp

可以看到,项目中没有xml文件.
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>pers.hanchao</groupId>
<artifactId>myspringmvc</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>mySpringMVC Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<final-name>myspringmvc</final-name>
<springframework.version>5.0.0.RELEASE</springframework.version>
<servlet-api.version>3.1.0</servlet-api.version>
<jsp-api.version>2.0</jsp-api.version>
<javax-mail.version>1.5.0-b01</javax-mail.version>
<tomcat-plugin.version>2.2</tomcat-plugin.version>
</properties>
<dependencies>
<!--Cannot find the class file for javax.servlet.ServletContext.-->
<!-- servlet的jar -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet-api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>${jsp-api.version}</version>
<scope>provided</scope>
</dependency>
<!-- 验证的jar -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${springframework.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${springframework.version}</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<!--Maven Tomcat 组件-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>${tomcat-plugin.version}</version>
<configuration>
<path>/</path>
<port>8080</port>
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<finalName>myspringmvc</finalName>
</build>
</project>
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-61616-1.html
之后才有了现在的军舰建造狂潮