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+MyBatis(SSM)框架
一、前言 本篇內容是培訓作業的第一個任務,旨在搭建一個SSM框架,做一個HTML頁面,能查詢,能插入資料(新建使用者)、登陸。實現的功能最為基礎,但是要求所有程式碼均為手寫,不能使用Mybatis 自動生成mapping和dao。由於此框架是後面一系列任務的基礎,所以,還是
基於maven搭建spring+springMVC+mybatis(SSM)框架專案
一.簡介 這篇文章是記錄我自己手動搭建基於maven的SSM(spring+springMVC+mybatis)框架專案的整個過程,目的是為了加深印象和方便以後查閱以及整理思路。 二.開發環境準備 (1)系統:Windows10(專業版) (2)eclispe版本:Eclipse J
使用Spring、SpringMvc、MyBatis搭建SSM框架
SpringMvc架構流程圖 部落格中使用到的jar檔案 在文末Demo中會給出 1、帶你一步步使用IntelliJ IDEA開發神器建立一個空白的Web Application專案 配置SSM web專案框架 2、我們需要新增必要的jar(包括:Spring(包括SpringMvc
使用maven,實現ssm(spring+springmvc+mybatis)三大框架的整合DEMO
剛進一家新公司,要求使用ssm三大框架,而且這個組合是現在的主流,所以在整合的同時將步驟一步一步記錄下來,方便以後的再次使用。 1.首先是建立一個Maven-project,具體操作請參考我的另一
SSM(Spring+SpringMVC+MyBatis)三大框架整合及遇到的各種問題
關於Maven安裝,很多詳細的配置在這裡不多說,更詳細的請參考http://www.tuicool.com/articles/Fru26n,這裡從使用Maven新建web專案開始,並解決各種問題,主要是本人遭遇的問題太多,認真記錄下,以防以後忘記。 第一步:新建Maven專
Spring《Spring+SpringMVC+Mybatis搭建二》
在實現了controller之後,現在需要想的是怎麼把在容器中載入的Service注入到controller中,這樣就可以實現一系列的操作了。 首先要在在spring-mybatis.xml配置Service實現類的實體bean(注:這裡的bean要用service的實現類) 再這
Intellij IDEA使用(十二)—— 使用Intellij IDEA匯入Eclipse建立的Spring+SpringMVC+Mybatis(SSM)整合專案並修改相關配置
1、匯入專案 File → Open → 選擇專案所在的目錄開啟專案 3、下面是新增的需要配置的地方 File → Project Structure → 選擇Facets ,新增Spring
在eclipse中使用spring,springmvc,mybatis搭建web項目
jdb 初始化 lsi nco location www. 新人 tis 和我 前不久剛學過ssm框架的使用,在此記錄下來,如果內容有誤歡迎指正! 這篇文章只展示我建立項目的過程,至於各種配置這麽寫的原因在今後的時間裏我會為Spring,Springmvc,mybatis各
SSM(Spring+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