1、创建maven项目
- 按照步骤一步一步来
-
- 创建项目
![image](https://note.youdao.com/yws/api/personal/file/518B34A3DC1D4606AC1B997C6D1F0A1E?method=download&shareKey=e394f1aec92abbf81cc9691f10ce9cdf)
-
![image](https://note.youdao.com/yws/api/personal/file/0067AF5ACF0B441CB92D40410A4FDD53?method=download&shareKey=c1926b8a4998e97dc20564f0bd70784f)
![image](https://note.youdao.com/yws/api/personal/file/5A68C5645C924596978FDBC5AB022467?method=download&shareKey=c6712a814e6c0267ffb00e318d5e3d62)
-
- 设置项目的maven的配置信息、maven仓库路径(会从maven配置文件中获取)
![image](https://note.youdao.com/yws/api/personal/file/BD4C0C7B6E464926A55B73272A619DB8?method=download&shareKey=fd88702ec2ab1d8f124f1669574fe168)
![image](https://note.youdao.com/yws/api/personal/file/E513D5C8AC394900A43147F5BAF586EB?method=download&shareKey=65d6354600dec83722af1a3e3f440bd0)
-
- 在main文件夹下创建java文件夹并标记为sources Root,以同样的方式创建test文件夹,并标记为test root
![image](https://note.youdao.com/yws/api/personal/file/8077F06D3DE14A7E81AFDA852AD16E30?method=download&shareKey=a723526edde5c60dccc21a14ac2a40c9)
2、配置pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>io.github.syske</groupId>
<artifactId>springDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>springDemo Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<spring.version>5.0.8.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- pring IOC的基础实现,包含访问配置文件、创建和管理bean等 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.49</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<build>
<finalName>springDemo</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
3、配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>springMVC</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 过滤器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-dispatcher-servlet.xml</param-value>
</context-param>
<!-- DispatcherServlet配置-->
<servlet>
<servlet-name>springServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
4、spring核心配置spring-dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
<!-- scan the package and the sub package -->
<context:component-scan base-package="io.github.syske"/>
<!-- don't handle the static resource -->
<mvc:default-servlet-handler />
<!-- if you use annotation you must configure following setting -->
<mvc:annotation-driven />
<!-- configure the InternalResourceViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
id="internalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/view/" />
<!-- 后缀 -->
<property name="suffix" value=".jsp" />
</bean>
</beans>
5、项目结构
- 这里要格外注意spring核心配置的路径
![image](https://note.youdao.com/yws/api/personal/file/1444A1C277164F2C87B513CB371E960B?method=download&shareKey=5e4bbc074ad77c399b8795d67e95a97e)
6、项目部署
![image](https://note.youdao.com/yws/api/personal/file/D122B6E8916B4C75B5088DDFBD7C0CAC?method=download&shareKey=740557b2fe07cfaa4ed6ecb91063222d)
![image](https://note.youdao.com/yws/api/personal/file/55C8EDC29EE84BBF959F4F4530DD0383?method=download&shareKey=1c06d0f8ce55097b8deba0c3decb6fd0)
![image](https://note.youdao.com/yws/api/personal/file/14F9004DAB80411CAEB847EE777500BD?method=download&shareKey=5d8013121cffb2893d543b157a131ef4)
![image](https://note.youdao.com/yws/api/personal/file/4D841E1923164DC4AA5F83B420B4E3C2?method=download&shareKey=e9905c845c69e7e7283a23995e64f579)
![image](https://note.youdao.com/yws/api/personal/file/F23F3ED34BB04F9FBFDD9480AE018D75?method=download&shareKey=7dcc0da73ed57ec9572a4d9a11655707)
![image](https://note.youdao.com/yws/api/personal/file/6F79FE55EEC7432AB635EE8DAEDC597A?method=download&shareKey=112cc24afec1abd65bf245c792d9e01d)