Idea SpringMVC+Spring+MyBatis+Maven調整【轉】

Idea SpringMVC+Spring+MyBatis+Maven整合

創建項目

File-New Project

選中左側的Maven,選中右側上方的Create from archetype,然后選中下方列表中的webapp,然后點擊Next

在GroupId和ArtifactId中填入指定內容,點擊Next

直接點Next

輸入項目名稱,Finish

Idea會自動開始下載所依賴的包,等待其完成。

項目結構

項目剛建好的時候是沒有這些文件的,所以自己手動創建缺少的文件夾(包)

創建完后的項目框架:

修改pom.xml導入依賴包插件

依賴包需要如下:

spring framework

aspectj事務

c3p0數據源

servlet/jsp api

junit4

mybatis

mybatis spring整合

mysql driver

jstl

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

4.0.0

com.elin4it.ssm

ssm

war

1.0-SNAPSHOT

ssm Maven Webapp

http://maven.apache.org

ssm


org.mybatis.generator

mybatis-generator-maven-plugin

1.3.2

true

true

4.1.1.RELEASE


org.springframework

spring-core

${spring.version}

org.springframework

spring-web

${spring.version}

org.springframework

spring-oxm

${spring.version}

org.springframework

spring-tx

${spring.version}

org.springframework

spring-jdbc

${spring.version}

org.springframework

spring-webmvc

${spring.version}

org.springframework

spring-aop

${spring.version}

org.springframework

spring-context-support

${spring.version}

org.springframework

spring-test

${spring.version}

插件需要用到mybatis的逆向工程

完整的pom.xml代碼清單:

使用mybatis逆向工程創建mapper接口和xml文件

user表結構

DROP TABLE IF EXISTS `user`;

/*!40101 SET @saved_cs_client? ? = @@character_set_client */;

/*!40101 SET character_set_client = utf8 */;

CREATE TABLE `user` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`username` varchar(32) NOT NULL COMMENT '用戶名稱',

`birthday` date DEFAULT NULL COMMENT '生日',

`sex` char(1) DEFAULT NULL COMMENT '性別',

`address` varchar(256) DEFAULT NULL COMMENT '地址',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;

在main/resources中創建generatorConfig.xml文件

generatorConfig.xml代碼清單


PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

connectionURL="jdbc:mysql://127.0.0.1:3306/mybatis?characterEncoding=UTF-8"

userId="root"

password="">

NUMERIC 類型解析為java.math.BigDecimal -->

targetProject="src\main\java">

targetProject="src\main\resources"

targetPackage="com.elin4it.springmvcMaven.mapper"

targetProject="src\main\java">

點擊idea右側的maven選項卡,選擇其中的mybatis-generator,點擊頂部的綠色按鈕運行

如果沒有出錯的話,應該會自動生成mapper接口文件、xml文件、pojo文件。

db.properties文件

在resources/config中創建db.properties,該文件用來描述mysql連接信息

jdbc.driver = com.mysql.jdbc.Driver

jdbc.url = jdbc:mysql://127.0.0.1:3306/mybatis?characterEncoding=UTF-8

jdbc.username = root

jdbc.password =

SqlMapConfig文件

在resources/config/mybatis中創建SqlMapConfig.xml文件,該文件為Mybatis的配置文件,由于跟spring整合,所以一些基礎配置文件都在spring中,在這里該文件中值需要寫文件的框架


PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

SpringMVC配置文件

在resources/config/spring中創建springmvc.xml文件


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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">




Spring IOC注入和事件控制

在resources/config/spring中創建applicationContext-dao.xml、application-service.xml、applicationContext-transaction.xml文件

applicationContext-dao.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

application-service.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:aop="http://www.springframework.org/schema/aop"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

applicationContext-transaction.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:aop="http://www.springframework.org/schema/aop"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

web.xml文件

修改web.xml文件內容

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"

version="3.1">

contextConfigLocation

classpath*:config/spring/applicationContext-*.xml

org.springframework.web.context.ContextLoaderListener

CharacterEncodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

utf-8

CharacterEncodingFilter

/*

dispatcherServlet

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath*:config/spring/springmvc.xml

1

dispatcherServlet

/

Service接口與實現

創建一個簡單的service,只有一個查看所有用戶列表的功能

UserService.java

package com.elin4it.ssm.service;

import com.elin4it.ssm.pojo.User;

import java.util.List;

/**

* Created by 烽 on 2015/7/11.

*/

public interface UserService {

/**

* 查找所有用戶

* @return

* @throws Exception

*/

List findUser()throws Exception;

}

實現類UserServiceImpl.java

package com.elin4it.ssm.service;

import com.elin4it.ssm.mapper.UserMapper;

import com.elin4it.ssm.pojo.User;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import java.util.List;

/**

* Created by 烽 on 2015/7/11.

*/

@Service

public class UserServiceImpl implements UserService {

//User接口

@Autowired

private UserMapper userMapper;

public List findUser() throws Exception {

//調用mapper類中的selectByExample方法,如果傳入類型為null,則表示無條件查找

List users = userMapper.selectByExample(null);

return users;

}

}

Controller

package com.elin4it.ssm.controller;

import com.elin4it.ssm.pojo.User;

import com.elin4it.ssm.service.UserService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

import java.util.List;

/**

* Created by 烽 on 2015/7/11.

*/

@Controller

@RequestMapping("/user")

public class UserController {

//service類

@Autowired

private UserService userService;

/**

* 查找所用用戶控制器方法

* @return

* @throws Exception

*/

@RequestMapping("/findUser")

public ModelAndView findUser()throws Exception{

ModelAndView modelAndView = new ModelAndView();

//調用service方法得到用戶列表

List users = userService.findUser();

//將得到的用戶列表內容添加到ModelAndView中

modelAndView.addObject("users",users);

//設置響應的jsp視圖

modelAndView.setViewName("findUser");

return modelAndView;

}

}

視圖

根據之前寫的controller,返回的視圖為findUser,所以在/WEB-INF/views中創建findUser.jsp文件,用來顯示查詢出來的結果

<%--

Created by IntelliJ IDEA.

User: 烽

Date: 2015/7/11

Time: 19:47

To change this template use File | Settings | File Templates.

--%>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

findUser

${u.id}

${u.username}

${u.birthday}

1. 使用阿里巴巴Druid連接池(高效、功能強大、可擴展性好的數據庫連接池、監控數據庫訪問性能、支持Common-Logging、Log4j和JdkLog,監控數據庫訪問)

2. 提供高并發JMS消息處理機制

3. 所有功能模塊化、所有模塊服務化、所有服務原子化的方式,提供可拓展的服務模型,使程序穩定運行,永不宕機

4. 提供Wink Rest、Webservice服務,故可作為獨立服務平臺部署

框架整合:

Springmvc + Mybatis + Shiro(權限) + REST(服務) + WebService(服務) + JMS(消息) + Lucene(搜搜引擎) + Quartz(定時調度) + Bootstrap Html5(支持PC、IOS、Android)

框架簡介:

項目Maven構建,真實大型互聯網架構,做到高并發,大數據處理,整個項目使用定制化服務思想,提供模塊化、服務化、原子化的方案,將功能模塊進行拆分,可以公用到所有的項目中。架構采用分布式部署架構,所有模塊進行拆分,使項目做到絕對解耦,穩定壓倒一切~~

持續集成:

1. 我的待辦工作流服務(提供Webservice服務)

2. 我的待辦工作流集成JMS消息服務(支持高并發,可支持成千上萬系統集成)

3. 我的任務提供Rest服務,完成日常的工作管理,通過定時調度平臺,動態生成我的任務、循環周期任務、定時郵催提醒完成任務等

4. 文件上傳、多線程下載服務化、發送郵件、短信服務化、部門信息服務化、產品信息服務化、信息發布服務化、我的訂閱服務化、我的任務服務化、公共鏈接、我的收藏服務化等

系統模塊:

1.? 用戶管理:

用戶信息管理(添加、刪除、修改、用戶授權、用戶欄目管理、查詢等)

用戶組管理(添加、刪除、修改、用戶組欄目授權,欄目授權、查詢、用戶組人員添加查詢等)

用戶角色管理(添加、刪除、修改、用戶角色授權、用戶角色欄目信息查詢設置等)

2. ?文章管理:

欄目管理:查詢無限極欄目樹、創建無限極欄目樹分類(導航欄目、圖片列表欄目、文章列表欄目、文章內容欄目等)、刪除、修改欄目信息。

文章管理:創建、刪除、修改文章,多維度文章查詢,包括已發布、未發布、所有文章等。文章富文本編輯器、文章多文件上傳、文章狀態控制等。

3.? 系統設置:

數據字典管理:支持中、英文信息,支持無限級別分類配置,動態控制是否可用等。

部門信息管理:支持中、英文無限級別部門信息增加,刪除,修改操作,部門列表、樹心查詢等。

日志管理:系統日志列表查詢、在線查看、在線下載等

路線管理:集成百度地圖API,提供線路查詢管理功能

Druid Monitor(監控):集成阿里巴巴連接池,提供在線連接池監控程序,包括:數據源、SQL監控、URL監控、Session監控、Spring監控等

網站信息管理:通過系統配置文件進行網站內容操作,包括郵件服務器配置、公司基本信息配置等。

4.集成REST服務,可以用作獨立服務平臺(提供大量實例及測試平臺,包括:文件上傳下載、郵件短信發送、部門、產品、公共連接、我的收藏、我的任務、信息發布等)

5.? 集成Quartz調度,可以用作定時調度平臺(動態配置調度類、調度時間,使程序自動執行某些業務)

6.? Lucene搜索引擎,可以將文件資料索引化,支持文件內容搜索、關鍵字搜索、高亮關鍵字等,使信息在毫秒內提取查詢出來

7.? 用戶設置功能:包括修改用戶信息,修改密碼、發送消息,修改個人圖片,查看角色、查看用戶組,管理員修改角色、用戶、用戶組等。

8.? 集成Webservice平臺,包括jaxws服務、CXF框架,配置雙加密的權限認證。使服務集成更加安全。

9.? Bootstrap html5提供了兩套前臺開環境,包括CMS和電子商務網站,使您的開發更加的簡潔。

技術點:

1.? Springmvc + Mybatis集成、SpringSecurity權限控制、Spring AOP事務處理。

2.? ?Wink Rest服務、Webservice服務:jaxws、CXF等

3.? IO 流上傳下載文件,多線程操作

4.? 發送郵件,配置郵件服務器,發基于html、純文本格式的郵件

5.? MD5加密 (登陸密碼校驗加密等),用戶統一Session、Cookie管理,統一驗證碼校驗等。

6.? 數據庫連接池統一配置

7.? Quartz定時調度任務集成(直接通過配置即可)

8.? Httpclient破解驗證碼,登陸聯通充值平臺

9.? 漢字、英文拆分、可以用作文檔關鍵字搜索等。

10.? Base64圖片處理,支持PC,Android,IOS

11.? Service Socket?、Client Socket?通信技術(已經做過GPRS數據獲取,并用到了項目中)

12.? 提供大量工具類,可以直接使用

13.? Maven項目構建,您可以直接做架構,可以提升自己的學習能力,使您成為真正的架構師。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容