首先我们创建一个新项目
选择Maven->Create from archetype ->maven-archetype-webapp
设置groupId,artifactId,默认版本1.0-SNAPSHOT
选择maven目录,我这里用的是idea自带的maven插件,设置maven的setting.xml位置
设置项目名称和项目地址 - 然后点击完成
我们来看下项目初始化的目录结构
我们打开pom.xml,我们可以看到定义了一些项目的基础配置,以及项目引用了junit依赖
我们继续引入我们需要的依赖,因为我们是一个Spring MVC 的项目,我们要引入Spring的bean,然后我们还要引入Spring 上下文,那么Spring基础的配置就引用完了
org.springframework
spring-beans
${springframework.version}
org.springframework
spring-context
${springframework.version}
接下来,我们需要引入Spring MVC的配置,同时我们加上Spring Web以及Spring JDBC的配置
org.springframework
spring-web
${springframework.version}
org.springframework
spring-webmvc
${springframework.version}
org.springframework
spring-jdbc
${springframework.version}
至此,我们Spring所需相关依赖就配置完成了,因为Spring的版本统一,所以单独用
UTF-8
1.8
1.8
4.3.10.RELEASE
Spring MVC的核心依赖配置完了之后呢,我们配置一下数据库相关的一些配置,我们还是使用mybatis处理我们的sql,引入mybatis,因为我们项目里需要打通mybatis和spring 的关联,我们还要需要引入mybatis关联Spring的包
org.mybatis
mybatis
3.4.0
org.mybatis
mybatis-spring
1.3.0
接下来我们引入druid,用它来做数据源的管理
com.alibaba
druid
1.0.20
我们的数据库使用的mysql,我们引入mysql的包,然后我们数据库相关的就配置完成了
mysql
mysql-connector-java
5.1.30
接下来,我们引入lombok,开发必备~
org.projectlombok
lombok
1.16.12
接下来,我们继续引入新的依赖,我们的项目里会使用到json,包括我们普通接口的返回,以及我们项目中代码的处理,这里我们json的解析工具使用Jackson,至此,我们基础的maven配置就完成了
com.fasterxml.jackson.datatype
jackson-datatype-guava
2.5.3
首先我们来看下web.xml的默认配置
首先呢,我们需要为spring环境指定个listener,它负责来监听我们上下文 spring bean的加载
org.springframework.web.context.ContextLoaderListener
指定spring 加载所需要的文件,首先在‘src/main/resources/ ’目录下新建resources目录,并设置目录类型为resources,在该目录下新增配置文件
contextConfigLocation
classpath:applicationContext.xml
接下来我们配置spring mvc,然后需要配置spring-servlet.xml, 文件名必须是‘ servlet-name’加‘-servlet’,这样spring会自动读取该文件
spring
org.springframework.web.servlet.DispatcherServlet
spring
/
配置完spring mvc之后我们要指定我们的项目编码,其实是一个过滤器,对请求进行过滤,设置他们的编码
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
encodingFilter
/*
接下来我们还需要一个配置,当我们什么都不指定的时候,它会返回哪个目录
index.jsp
这样,我们的web.xml基本就配置好了,这里呢它指定了我们spring加载的配置文件,以及spring mvc的配置,同时我们配置了项目编码,我们还新增了两个文件 applicationContext.xml和spring-servlet.xml,后续我们需要配置这两个文件
配置使上下文的配置能直接被使用
启动注解驱动spring mvc功能,有了这个配置,我们Controller注解,Service注解和Component注解都会自动成为spring管理的bean
启动包扫描功能,并新建相应的目录
接下来配置视图解析,这样我们spring-servlet.xml就配置好了
首先我对数据源进行配置,同时配置占位符替换功能,新增settings.properties
classpath:settings.properties
接下来定义session factory
事物配置
配置stat和wall
配置druid访问,在web.xml配置
DruidStatServlet
com.alibaba.druid.support.http.StatViewServlet
DruidStatServlet
/sys/druid/*
DruidWebStatFilter
com.alibaba.druid.support.http.WebStatFilter
exclusions
*.js,*.css,*.jpg,*.png,*.ico,*.gif,/sys/druid/*
DruidWebStatFilter
/*
打开pom.xml,引入logback的依赖,并引入slf4j,结合使用,并新建logback.xml
ch.qos.logback
logback-core
1.1.8
ch.qos.logback
logback-classic
1.1.8
org.slf4j
slf4j-api
1.7.22
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
新建TestController,TestDao 和 TestMapper ,并配置tomcat,期间会报错,把spring-servlet RequestMappingHandlerMapping注释掉即可运行,这样一套SpringMVC环境就搭建完成了
public interface TestDao {
}