步骤一:添加必要文件夹
先在src/main/resources下添加两个文件夹
接着在webapp文件夹下添加一个resources文件夹存放我们的静态网页内容
WEB-INF里的文件是不会被客户端访问的,它里面有一个web.xml文件,它是用来配置初始化信息的。
target目录主要用来存放项目构建后的文件和目录,jar包、war包和编译后的class文件都会放在这,是创建maven项目后生成的。
步骤二:创建必要包
web:控制层
service:业务逻辑层
service.impl:业务逻辑实现
dao:与数据相关操作
dto:数据传输对象的封装
(=゚ω゚)ノ
简单介绍一下什么是dto
DTO (经过处理后的PO,可能增加或者减少PO的属性):Data Transfer Object数据传输对象
主要用于远程调用等需要大量传输对象的地方。
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。
enums:枚举对象存放包
interceptor:拦截器
util:工具类包
步骤三:引入jar包
由于这个项目是用maven来管理的,所以我们通过配置pom.xml来引入jar包
在<dependencies>标签里添加<dependency>标签来引入jar包
https://mvnrepository.com/ 我们可以去官网找寻我们想要的jar包,搜索复制就ok,非常容易
首先需要junit,用于测试
②logback classic module
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<scope>test</scope>
</dependency>
这里说一下<scope>标签,scope的值是可以改变jar包的出现范围
我们希望logback可以出现在项目线上环境中,所以我们把默认的<scope>标签去掉,默认为compile
接下来配置Spring全家桶
<!-- Spring -->
<!-- 1)Spring核心 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<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>
<!-- 2)Spring DAO层 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 3)Spring web -->
<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>
<!-- 4)Spring test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
接下来将变量spring.version赋值
<properties>
<spring.version>4.3.7.RELEASE</spring.version>
</properties>
还有一些其他的jar包
Servlet web,json解析,commons-collections,最后一个是Map工具类,对标准java Collection的扩展
spring-core.jar需要commons-collections.jar
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency> <dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
mybatis:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
数据库相关jar包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>