SSM框架基础搭建——柯鼎工作室
1、项目创建
IDEA中左上角File —> New —> Project —> Maven
填写GroupId(一般为两段,例如cn.wjf或com.wjf),ArtifactId(一般为项目名称,如campusApp)
设置项目名和项目路径,不含中文字符
2、构建目录结构
(1)基础类包
IDEA中左上角File —> Project Structure —> Module
在src包下的main包下New Folder一个Sources包base,用于存放一些公共的基础类(
aop:切面类包;
config:配置类包,swagger等;
contants:常量、枚举类包;
controller:控制器包;
filter:过滤器包;
listener:监听器包;
pojo:公共对象包;
util:工具类包)
(2)主要代码包
在src包下的main包下java包,添加模块包(
controller:控制器
dao:数据传输对象包,用于导入导出传值对象
pojo:持久层对象包,也可以写为entity,无伤大雅
service:业务处理)
3、添加web组件,构建javaWeb工程
(1)在Module添加web组件
(2)web组件添加确认
(2)web组件添加确认
(3)web项目名修改和最终确认
4、添加依赖
(1)在pom.xml下声明依赖,在指定位置复制下面的依赖声明
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>7</source>
<target>7</target>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<spring.version>4.0.2.RELEASE</spring.version>
<mybatis.version>3.4.2</mybatis.version>
<mybatis.spring.version>1.3.1</mybatis.spring.version>
</properties>
<dependencies>
<!--导入java ee jar包-->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
<!--spring/springMVC-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!--spring单元测试-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis.spring.version}</version>
</dependency>
<!--文件上传依赖-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<!--连接池-->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!--数据库-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
<!--springmvc返回json支持-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.1</version>
</dependency>
<!--参数校验-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.4.Final</version>
</dependency>
<!--分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.4</version>
</dependency>
<!--单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!--json转化-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.39</version>
</dependency>
<!--输出日志-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!--支持log4j输出mybatis执行的sql-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<!-- swagger api接口文档 -->
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>1.0.2</version>
</dependency>
<!-- CollectionUtils -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
</dependencies>
(2)右键pom.xml选择Maven点击Reimpot下载依赖包,需要一定时间,可在build栏中查看进度
(3)添加依赖包到项目,下载完成后应该能看到很多的依赖包列表,截图里没有
(4)添加成功后可以在lib里面看到依赖包,如果之后需要再添加依赖,则需要重复此操作
5、创建springMVC环境
(1)在resource下创建springMvc.xml(创建的时候把.后面的尾缀也写上,如果之前包名有修改,这里也需要在里面对应修改)
(2)在resource下创建jdbc.properties(代码在这里就不粘贴了,文件我会直接发的)
(3)在resource下创建spring-mybatis.xml(如果之前包名有修改,这里也需要在里面对应修改,这里还需要同时进行Swagger的配置,需要把swagger的包放在web目录下,将SwaggerConfig放在base包下的config包中),然后这里还sql映射那一行还会飘红,等下会补上的
(4)在resource下创建log4j.properties
(5)配置web.xml,在web包下的WEB-INF中找到(同时需要将BaseContants、ErrorMesgEnum放在base包下的contants下,将WebappListener放在listener下)
(6)同时放置其他的包,最终构成目录如下:
6、配置tomcat服务器
(1) 在顶部功能栏Run中找到Edit Configurations
(2) 点击小加号,找到Tomcat Server点击Local(和图片应该稍有出入)选择Deplopment点击add Artifact
(3)返回Server页,进行如图设置,路径这边需要加上swagger/index.html#/便于直接打开swagger接口文档进行测试,记得Apply
7、生成war包
(1)将Type改为Archive
(2) Build之后就可以在对应文件包下的\out\artifacts中找到对应项目的war包
8、还需要在web.xml下进行swagger的监听注册
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--定义前端控制器-->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/springMvc.xml</param-value>
</init-param>
<!-- 随spring启动而启动 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<description>Spring和mybatis的配置文件</description>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/spring-mybatis.xml</param-value>
</context-param>
<!--设置项目首页-->
<welcome-file-list>
<welcome-file>login.html</welcome-file>
</welcome-file-list>
<!--自定义监听器,添加在spring监听器上面-->
<listener>
<listener-class>com.wjf.base.listener.WebappListener</listener-class>
</listener>
<!-- log4j文件-->
<context-param>
<description>log4j配置文件</description>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:/log4j.properties</param-value>
</context-param>
完整参考项目包 https://github.com/wjf-962464/SSM_System_Build.git