1. 程式人生 > 其它 >SSM框架搭建流程

SSM框架搭建流程

目錄

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>