1. 程式人生 > >Spring + SpringMvc + Mybatis 搭建SSM框架

Spring + SpringMvc + Mybatis 搭建SSM框架

在閒暇之餘,又開始玩玩javaEE的東西,不然都要忘記了。初步打算做一個開源的CMS,今天先搭建起框架,提交github後續完善,需要的可以看看,fork下,順便給個star吧。

什麼是SSM?

SSM對應 spring springmvc mybatis
springmvc 採用MVC模式,主要是作用於使用者互動
spring 採用IOC和AOP~作用比較抽象,是用於專案的鬆耦合
mybatis 是物件持久化框架,其實就是實體類和資料庫表建立關係,通過mapper.xml檔案寫sql語句,完成資料庫程式設計
SSM就是Spring + SpringMvc + Mybatis 3個Java框架的集合,現在Java開發中常用的框架組合。用來開發後臺,與前臺和資料庫進行資料互動.

環境準備

jdk1.8 :java執行環境

mysql: 資料庫

IDE: 程式碼編輯工具

MAVEN: 專案管理工具

開始搭建

新建maven專案

2種方式:IDE和mvn ,具體自己弄。
以下是結構截圖,src和pom.xml必須
這裡寫圖片描述

新增依賴

下面是常用的javaEE開發包的版本

<properties>
    <!--base setting-->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target
>
1.8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.build.locales>zh_CN</project.build.locales> <project.build.jdk
>
1.8</project.build.jdk> <plugin.maven-compiler>3.1</plugin.maven-compiler> <!--lib versions--> <junit.version>4.11</junit.version> <servlet.version>3.0.1</servlet.version> <spring.version>4.1.6.RELEASE</spring.version> <spring-data.version>1.2.0.RELEASE</spring-data.version> <mybatis-plus.version>2.0.1</mybatis-plus.version> <mybatis.version>3.4.1</mybatis.version> <mybatis-spring.version>1.3.0</mybatis-spring.version> <hibernate.version>5.1.38</hibernate.version> <shiro.version>1.2.3</shiro.version> <mysql.connector.version>5.1.38</mysql.connector.version> <postgresql.version>9.1-901.jdbc4</postgresql.version> <slf4j.version>1.7.12</slf4j.version> <log4j.version>1.2.12</log4j.version> <httpclient.version>4.1.2</httpclient.version> <jackson.version>2.3.3</jackson.version> <druid.version>1.0.26</druid.version> <aspectjweaver.version>1.8.8</aspectjweaver.version> <jstl.version>1.2</jstl.version> <standard.version>1.1.2</standard.version> <google.collections.version>1.0</google.collections.version> <commons.fileupload.version>1.3.1</commons.fileupload.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <!-- springframe start --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <!-- 4.1.6不提供hibernate5的資料工廠 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.3.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> <!-- springframe end --> <!-- mybatis start --> <!-- <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>--> <!--使用爆米兜mybatisplus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>${mybatis-plus.version}</version> </dependency> <!--mybatis end --> <!-- AOP --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version> ${aspectjweaver.version}</version> </dependency> <!--datasource--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <!-- MYSQL --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.connector.version}</version> </dependency> <!--Apache Shiro --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-quartz</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>${shiro.version}</version> </dependency> <!-- json --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <!--alibaba json--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.6</version> </dependency> <!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib --> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier><!--jdk版本--> </dependency> <!-- web begin --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${servlet.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <!-- web end --> <!-- 提供對c標籤的支援 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>${standard.version}</version> </dependency> <!-- apache公共包 --> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.10</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.8.0</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>net.sf.ezmorph</groupId> <artifactId>ezmorph</artifactId> <version>1.0.6</version> </dependency> <!-- log start --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <!-- log end --> </dependencies>

搭建springMvc

開啟webapp/WEB-INF/web.xml檔案,新增請求對映器,新增如下:

  <!-- 字符集 過濾器 -->
    <filter>
        <filter-name>encodingFilter</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>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- Spring MVC -->
    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <description>SpringMVC</description>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

我們可以看到上面的程式碼中有classpath:spring-mvc.xml程式碼,所以在resources目錄下新增spring-mvc.xml檔案。然後開啟編輯:

<?xml version="1.0" encoding="utf-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/mvc   http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd ">

    <description>spring mvc</description>
    <context:component-scan base-package="cn.yjxxclub.shijie" use-default-filters="false">
       <!-- 掃描規則-->
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

    <mvc:default-servlet-handler/>
    <mvc:annotation-driven/>
    <!--檢視解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/page/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

    <bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="UTF-8"/>
        <property name="maxUploadSize" value="10000000"/>
    </bean>
    <!--避免IE執行AJAX時,返回JSON出現下載檔案 -->
    <bean id="mappingJackson2HttpMessageConverter"
          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
                <value>text/json;charset=UTF-8</value>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
    </bean>
    <bean
            class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="mappingJackson2HttpMessageConverter"/>    <!-- JSON轉換器 -->
            </list>
        </property>
    </bean>
    <!--shiro交給springmvc管理-->
    <!--<import resource="springmvc-shiro.xml"/>-->

</beans>

xml檔案配置基本完成,下面就是java程式碼了:

/**
 * Author: tengxing
 * Email: [email protected]
 * Date: 17-3-15
 * Time: 下午6:16
 * Describe: 測試
 */
@RestController
@RequestMapping("/test")
public class TestController extends BaseController{
    @RequestMapping(value = "hello", method = RequestMethod.GET)
    public Object hello(){
        System.out.println("--exe--");
        return renderSuccess("hello world");
    }

}
protected JsonResult renderSuccess(String msg) {
        JsonResult result = renderSuccess();
        result.setMsg(msg);
        return result;
    }

開啟瀏覽器:

這裡寫圖片描述
至此springmvc搭建完畢。

搭建spring

搭建mybatis

看看效果

這裡寫圖片描述

專案託管地址:github 點選star或者fork可以持續跟蹤專案喔,我會不定時更新。

相關推薦

Spring + SpringMvc + Mybatis 搭建SSM框架

在閒暇之餘,又開始玩玩javaEE的東西,不然都要忘記了。初步打算做一個開源的CMS,今天先搭建起框架,提交github後續完善,需要的可以看看,fork下,順便給個star吧。 什麼是SSM? SSM對應 spring springmvc mybati

Spring + SpringMVC + Mybatis整合SSM框架配置方法

     剛學完SSM框架的整合,想找個專案玩玩,網上一搜資源一大把,把專案直接搬進開發工具裡,總是遇到各種各樣的問題,一方面是專案本身需要結合環境重新配置,一方面自己沒辦法理解別人的思想。不如從頭開始梳理一下SSM框架的配置整合方法,溫故而知新! 1.  配置專案物件模

(實用篇)一步步搭建Spring+SpringMVC+MyBatisSSM框架

一、前言 本篇內容是培訓作業的第一個任務,旨在搭建一個SSM框架,做一個HTML頁面,能查詢,能插入資料(新建使用者)、登陸。實現的功能最為基礎,但是要求所有程式碼均為手寫,不能使用Mybatis 自動生成mapping和dao。由於此框架是後面一系列任務的基礎,所以,還是

基於maven搭建spring+springMVC+mybatisSSM框架專案

一.簡介 這篇文章是記錄我自己手動搭建基於maven的SSM(spring+springMVC+mybatis)框架專案的整個過程,目的是為了加深印象和方便以後查閱以及整理思路。 二.開發環境準備 (1)系統:Windows10(專業版) (2)eclispe版本:Eclipse J

使用SpringSpringMvcMyBatis搭建SSM框架

SpringMvc架構流程圖 部落格中使用到的jar檔案 在文末Demo中會給出 1、帶你一步步使用IntelliJ IDEA開發神器建立一個空白的Web Application專案 配置SSM web專案框架 2、我們需要新增必要的jar(包括:Spring(包括SpringMvc

使用maven,實現ssmspring+springmvc+mybatis)三大框架的整合DEMO

剛進一家新公司,要求使用ssm三大框架,而且這個組合是現在的主流,所以在整合的同時將步驟一步一步記錄下來,方便以後的再次使用。 1.首先是建立一個Maven-project,具體操作請參考我的另一

SSMSpring+SpringMVC+MyBatis)三大框架整合及遇到的各種問題

關於Maven安裝,很多詳細的配置在這裡不多說,更詳細的請參考http://www.tuicool.com/articles/Fru26n,這裡從使用Maven新建web專案開始,並解決各種問題,主要是本人遭遇的問題太多,認真記錄下,以防以後忘記。 第一步:新建Maven專

SpringSpring+SpringMVC+Mybatis搭建二》

在實現了controller之後,現在需要想的是怎麼把在容器中載入的Service注入到controller中,這樣就可以實現一系列的操作了。 首先要在在spring-mybatis.xml配置Service實現類的實體bean(注:這裡的bean要用service的實現類) 再這

Intellij IDEA使用(十二)—— 使用Intellij IDEA匯入Eclipse建立的Spring+SpringMVC+MybatisSSM)整合專案並修改相關配置

1、匯入專案 File → Open → 選擇專案所在的目錄開啟專案 3、下面是新增的需要配置的地方 File → Project Structure → 選擇Facets ,新增Spring

在eclipse中使用spring,springmvc,mybatis搭建web項目

jdb 初始化 lsi nco location www. 新人 tis 和我 前不久剛學過ssm框架的使用,在此記錄下來,如果內容有誤歡迎指正! 這篇文章只展示我建立項目的過程,至於各種配置這麽寫的原因在今後的時間裏我會為Spring,Springmvc,mybatis各

SSMSpring+SpringMVC+Mybatis框架搭建詳細教程【附源代碼Demo】

oid rep images end 訪問靜態文件 into *** 寫到 where http://www.cnblogs.com/qixiaoyizhan/p/7751732.html 【前言】   應某網絡友人邀約,需要一個SSM框架的Demo作為基礎學習資料,於

使用idea搭建Maven+SSM(Spring+SpringMVC+Mybatis)框架(一、使用Maven創建新工程)

post eight 9.png 圖片 tis 本地包 end pen nbsp 一、新建Maven項目 1、如圖創建簡單java web application。 2、如圖填寫組織唯一標識和項目唯一標識 3、如圖照做 4、點擊finish即可完成項目創建,如圖為創建

Maven搭建SSM框架(Spring+SpringMVC+MyBatis)

核心 suffix clas you info org 好項目 package span 一、概述:   Spring是一個輕量級開發框架,好比一個大工廠(容器),可以將所有對象的創建和依賴關系交給spring管理。   SpringMVC是一個基於mvc的web框架。sp

Spring+Mybatis+SpringMVC+Maven+MySql(SSM框架)搭建例項

這篇文章我們來實現使用maven構建工具來搭建Spring+Mybatis+SpringMVC+MySql的框架搭建例項。工程下載 使用maven當然得配置有關環境了,不會配置的請看我前幾篇文章,都有配置maven環境的列子! MySQL建立表sql語句: /* Navicat M

1、用intellij idea2018搭建ssm框架SpringMVC+Spring+Mybatis

開發環境: intellij idea:2018 + maven:3.5.4+ jdk:1.8 下面正式開始配置過程 1、新建專案 2、專案目錄結構如下(三張圖連著看),檔案內容往下看 目錄顏色不同看步驟3 3、讓idea識別目錄作用 file-

SSM框架搭建2(spring+springmvc+mybatis

SSM框架搭建(spring+springmvc+mybatis) 置頂2018年01月23日 16:10:38丁文浩閱讀數:55506    自己配置了一個SSM

SSM框架搭建spring+springmvc+mybatis

一.建立web專案(eclipse)  File-->new-->Dynamic Web Project (這裡我們建立的專案名為SSM) 下面是大致目錄結構   二. SSM所需jar包。  jar包連結:https://pan.b

基於Maven工具搭建Spring+SpringMVC++MyBatis(ssm)框架步驟

目錄 1.使用Ecplise建立Maven工程: 2.構建SSM框架 3.日誌資訊:log4j 4.應用例項:使用者登入 5 資料庫MySQL 1.使用Ecplise建立Maven工程: 1.1 File -> New -> Other,在New視

SSM框架——Spring+SpringMVC+Mybatis搭建教程

一:概述SSM框架在專案開發中經常使用到,相比於SSH框架,它在僅幾年的開發中運用的更加廣泛。Spring作為一個輕量級的框架,有很多的拓展功能,最主要的我們一般專案使用的就是IOC和AOP。SpringMVC是Spring實現的一個Web層,相當於Struts的框架,但是比

Spring,SpringMVC,Mybatis (SSM)框架搭建

搭建SSM框架參照一下步驟:1.提供ssm所需jar包 這些jar包包括三個框架所需要的,就不一一列舉所屬了 aopalliance-1.0.jar asm-3.3.1.jar aspectjweaver.jar c3p0-0.9.1.jar cglib-2.2.2.j