SSM框架搭建流程
阿新 • • 發佈:2022-06-01
目錄
- 1.SpringMVC專案搭建流程
- 2.檢查一下idea外掛
- 3.建立專案需要使用的資料夾目錄
- 4.檢查WebApp目錄是否正確
- 5.檢查Webapp目錄
- 6.引入所有相關SSM框架的依賴包(最完全版本)
- 7.建立Spring以及SpringMVC配置檔案
- 8.修改Web.xml檔案中的相關配置
- 9.配置SpringMVC相關內容
1.SpringMVC專案搭建流程
2.檢查一下idea外掛
Spring以及SpringMVC相關外掛
lombok外掛
MyBatis外掛
3.建立專案需要使用的資料夾目錄
4.檢查WebApp目錄是否正確
5.檢查Webapp目錄
6.引入所有相關SSM框架的依賴包(最完全版本)
<dependencies> <!-- springMVC、Spring相關依賴 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.9</version> </dependency> <!--測試--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!--日誌--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.21</version> </dependency> <!--J2EE--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!--mysql驅動包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> <!-- Fastjoson JSON處理工具 --><!-- TODO:gai --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.78</version> </dependency> <!-- 檔案上傳下載--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> <scope>provided</scope> </dependency> <!-- 資料校驗 --> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version> </dependency> <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.1.0.CR2</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.1.0.Final</version> </dependency> <!-- @ResponesBody的新解決方案-jackson包 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.12.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.3</version> </dependency> <!-- Swagger2 - fasterxml --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.12.3</version> </dependency> <dependency> <groupId>com.fasterxml</groupId> <artifactId>classmate</artifactId> <version>1.5.1</version> </dependency> <!-- mybatis核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <!-- mybatis/spring包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> <!-- 阿里的druid連線池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.8</version> <scope>compile</scope> </dependency> <!--日誌--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency> <!-- github分頁 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.2.1</version> </dependency> </dependencies>
7.建立Spring以及SpringMVC配置檔案
把生成的兩個配置檔案拖拽到resource目錄下
8.修改Web.xml檔案中的相關配置
1.在resource目錄建立Mybatis配置檔案(名字叫mybatisConfig.xml)
先編寫根標籤即可,留著後面寫
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!-- Mybatis配置檔案根標籤 --> <configuration> </configuration>
2.修改web.xml-載入mybatis配置檔案以及專案名稱
<web-app>
<!-- 修改專案名稱與建立的專案檔案同名即可 -->
<display-name>CZ_SSM1</display-name>
<!-- 當spring容器載入時就會載入mybatis配置檔案 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 指向mybatis配置檔案路徑 -->
<param-value>classpath:mybatisConfig.xml</param-value>
</context-param>
3.修改web.xml-SpringMVC前端控制器配置
<!-- SpringMVC-前端控制器Servlet配置 -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 當前端控制器servlet例項時,載入SpringMVC-前端控制器配置檔案 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- 指向生成的dispatcher-servlet.xml -->
<param-value>classpath:dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<!-- 攔截所有客戶端請求進入mvc的前端控制器 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
4.修改web.xml-新增Spring字元編碼過濾器
<!-- 字元編碼過濾器 -->
<!-- spring字元編碼過濾器 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
5.修改web.xml- 新增SpringMVC-REST請求規範過濾器
<!-- REstFul規範請求 -->
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
6.修改web.xml-新增阿里druid連線池資料監控中心url路徑對映
<!-- 阿里的druid連線池資料監控中心servlet -->
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
<!-- http://localhost:8080/專案上下文/druid 進入阿里資料來源監控中心 -->
9.配置SpringMVC相關內容
1.各自小組建立自己的業務相關包,一定要在根目錄下建立
附錄:控制器層、業務介面層、業務實現層程式碼demo
/*控制器層*/
package com.czdsj.base.controller;
import com.czdsj.base.service.BaseService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import javax.annotation.Resource;
/**
* 學生基礎資訊採集模組-控制器層
* 2022/6/1
*/
@Controller
@RequestMapping("/base")
@Slf4j //日誌註解 自動生成一個log物件
public class BaseController {
/**
* 自動注入介面實現層, name是實現層型別首字母小寫即可
*/
@Resource(name = "baseServiceImpl")
private BaseService baseService;
/**
* 頁面跳轉方法:返回值是String型別返回一個邏輯檢視名
* 頁面跳轉方法不需要寫@ResponseBody註解 ,請求型別是GET型別
* @return
*/
@RequestMapping(value = "/toLogin",method = RequestMethod.GET)
public String toLogin(){
log.info("頁面跳轉-到登入頁面");
return "邏輯檢視名";
}
}
/*業務介面層*/
package com.czdsj.base.service;
/**
* 學生基礎資訊採集-業務介面層
* 2022/6/1
*/
public interface BaseService {
}
/*業務介面實現層*/
package com.czdsj.base.service.impl;
import com.czdsj.base.service.BaseService;
import org.springframework.stereotype.Service;
/**
* 學生基礎資訊採集-業務實現層
* 2022/6/1
*/
@Service
public class BaseServiceImpl implements BaseService {
}
2.配置SpringMVC配置檔案(dispatcher-servlet.xml)
(1)配置檢視解析器
配置檢視資料夾
配置檢視解析器
<!-- 檢視解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
(2)配置自動包掃描加入ioc容器
<!-- 最好手動去打 -->
<!-- 依賴注入、控制器、service、@Valid -->
<mvc:annotation-driven>
<!-- 掃描註解,載入例項 : @Component @Controller @Service -->
<context:component-scan base-package="com.czdsj" />
(3)檔案上傳下載解析器
<!-- 檔案上傳解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="50000000"/>
<property name="defaultEncoding" value="UTF-8" />
</bean>