java web ssi框架_[手把手教程][JavaWeb]优雅的SpringMvc+Mybatis整合之路

[手把手教程][JavaWeb]优雅的SpringMvc+Mybatis整合之路

手把手教你整合最优雅SSM框架:SpringMVC + Spring + MyBatis

前面网友说我为啥很久不更新博客了,我告诉他们我准备潜修.其实是我的博客被人批评是在记流水账(一脸尴尬).

本文中的图片用了个人服务器存储,网速较慢,各位老司机耐心等待.

工具

IDE为idea15

JDK环境为1.8

maven版本为maven3

目标

完成基本的SpringMVC + Spring + MyBatis框架整合

数据库使用mysql

加入阿里巴巴的druid数据库连接池

使用gson作为json解析工具

实现日志输出

maven依赖的版本管理

优点

此处省略若干字,观众们请脑补.

SSM框架整合配置

前面说了这么多,现在开始正式的干货.

第一步: 使用idea的maven创建一个基本的web工程.

打开Idea在欢迎界面选择创建一个新的Project或者是(在菜单界面选择:New→Project),这是会出现一个界面如下图所示:

9c5eb61575483ce6b131025108568e03.png

maven新建WebApp项目第一步

如上图所示,我们需要勾选的地方已经使用红色框标注出来.

最左边的是maven,是我们需要使用的项目构建工具.

勾选右边上面的Create from archetype,我们才能在下面选择我们需要构建成什么类型的项目.

接着我们选中maven-archetype-webapp,这时候我们的项目类型就确定为是web项目.

需要注意一点,我上面图中没标注出来的Project SDK,这里是选择我们开发的JDK版本.

点击next后,如下图所示:

ea639b49bd1eafbe2e69dfd9524ff321.png

maven新建WebApp项目第二步

上面图中,我们需要注意地方如下:

GroupId也就是我们常说的组织ID,也可以理解为我们应用程序的包名

ArtifactId是我们常说的产品名称(同一个组织下面可以有多个产品),也可以当作是我们的当前项目名称

Version顾名思义就是版本号

最下面的红色框中,Previous==>返回上一步,Next==>下一步,Cancel==>取消,Help==>帮助

接下来,我们继续点击Next后,如下图所示:

55ad9888b08fe9a1c413bd16b4264988.png

maven新建WebApp项目第三步

上面途中没啥好说的,圈出来部分就是我们的Maven目录.继续next后,如下图所示:

5769b3c6557d7e634655b7331a2529e0.png

maven新建WebApp项目第四步

上面选中部分,Project name为项目名称,Project location是项目的存储位置(右边的省略号意味着可以选择位置).

接下来我们点击Finish,我们新建基本的web项目的步骤就完成了.

这时候在Idea主窗口的右下角部分,我们可以看到一个滚动条在执行,说明我们的项目正在build中.右上角有一个提示框如下图所示:

90a93e6bd995e8f5562acc344e211363.png

maven新建WebApp项目完成后的自动导入提示框

这个提示框大概意思是:Maven项目需要被导入.我建议勾选:Enable Auto-Import(自动导入)

此处,使用Idea创建一个Maven依赖的基本的WebApp项目已经完成.

框架整合前的准备工作.

整理项目文件组织结构.

通过观察目录结构,我们可以发现,需要的目录不齐全,我们需要手动补齐.初始结构图如下:

a0e6e563fc63b4a045cf7297be68ab69.png

maven新建WebApp项目完成后的目录结构

我们需要的主体结构图应如下:

3cd65c80ff0c81512c7b3d0e588d8d81.png

WebApp项目整合框架前的目录结构

需要的主体结构目录解释:

目录名称

说明

src

源码、资源等文件的根目录

↓ main

项目开发主要目录之一,可以放java代码和一些资源文件.

↓↓java

开发的主要的java代码存放目录

↓↓↓cn.acheng1314

我的应用程序的包名

↓↓resources

开发中的主要的资源文件存放目录

↓↓sql

开发中主要的sql语句文件存放目录

↓↓webapp

web页面和其他web配置、资源文件存放目录

↓ test

项目开发中的测试模块存放路径,包含java代码和资源文件.

↓↓java

测试代码存放目录

↓↓resources

测试资源文件存放目录

配置目录:

创建main目录下的java目录(用于存放java源代码)

467e8410aeb9f6e715189983feea9fd9.png

WebApp目录调整第一步创建java源代码目录

我们先右键点击main目录,接着选中New→Directory,在弹出的对话框中输入java.

接着我们需要把java目录标记为源文目录.

f06ab1eab9f9d7727b3732dd82075adc.png

WebApp目录调整第二步标记java目录为资源目录

我们先右键点击java,然后选择Mark Directory As→Sources Root

接着我们在src目录下创建test目录(注意: test目录和main目录同级),以及test下面的java和resources目录,分别标记为源文件目录和资源文件目录

值得注意的是sql目录为普通文件目录

根据目标明白我们需要哪些支援库,具体结果如下:

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

4.0.0

cn.acheng1314

SSM_LOG

war

1.0-SNAPSHOT

SSM_LOG Maven Webapp

http://maven.apache.org

junit

junit

3.8.1

test

org.apache.logging.log4j

log4j-core

${org.apache.logging.log4j.version}

org.apache.logging.log4j

log4j-api

${org.apache.logging.log4j.version}

mysql

mysql-connector-java

${mysql.version}

runtime

com.alibaba

druid

${com.alibaba.druid.version}

org.mybatis

mybatis

${com.mybatis.mybatis.version}

org.mybatis

mybatis-spring

${com.mybatis.mybatis_spring.version}

taglibs

standard

1.1.2

jstl

jstl

1.2

com.google.code.gson

gson

${com.google.gson.version}

javax.servlet

javax.servlet-api

${javax.servlet.version}

org.springframework

spring-core

${org.springframework.version}

org.springframework

spring-beans

${org.springframework.version}

org.springframework

spring-context

${org.springframework.version}

org.springframework

spring-jdbc

${org.springframework.version}

org.springframework

spring-tx

${org.springframework.version}

org.springframework

spring-web

${org.springframework.version}

org.springframework

spring-webmvc

${org.springframework.version}

org.springframework

spring-test

${org.springframework.version}

redis.clients

jedis

${redis.clients.version}

com.dyuproject.protostuff

protostuff-core

${com.dyuproject.protostuff.version}

com.dyuproject.protostuff

protostuff-runtime

${com.dyuproject.protostuff.version}

commons-collections

commons-collections

3.2.2

commons-fileupload

commons-fileupload

1.3.2

commons-io

commons-io

2.5

2.6.2

5.1.37

1.0.25

3.4.1

1.3.0

2.7

3.1.0

4.3.2.RELEASE

2.7.3

1.0.8

SSM_LOG

整合框架

在上面,我们已经把基本的目录配置好了,现在我们在已经依赖了项目支援库,接下来我们需要做的是开始整合Spring+SpringMvc+Mybatis

我们先打开webapp目录下面的WEB-INF目录中的web.xml文件,web.xml文件是整合web项目的配置中心.我们在web.xml中加入如下内容:

/p>

"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd" >

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee

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

version="3.1" metadata-complete="true">

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

SSM_LOG

mvc-dispatcher

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:spring/spring-*.xml

mvc-dispatcher

/js/*

/css/*

/images/*

/fonts/*

DruidStatView

com.alibaba.druid.support.http.StatViewServlet

DruidStatView

/druid/*

druidWebStatFilter

com.alibaba.druid.support.http.WebStatFilter

exclusions

/public/*,*.js,*.css,/druid*,*.jsp,*.swf

principalSessionName

sessionInfo

profileEnable

true

druidWebStatFilter

/*

快捷生成spring目录

在上面的classpath:spring/spring-*.xml处,我们选中前面一个spring,按下Alt+Enter自动生成spring目录.

spring目录位于src→main→resources下.

在spring目录下创建spring相关的控制文件

spring-dao.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">

init-method="init" destroy-method="close">

value="20" />

上面的配置中,肯定会出现报错的情况,这时候我们只需要选中报错的地方按下Alt+Enter就能生成相关的资源.

spring-service.xml

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

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

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

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/tx

http://www.springframework.org/schema/tx/spring-tx.xsd">

class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

上面的配置中,肯定会出现报错的情况,这时候我们只需要选中报错的地方按下Alt+Enter就能生成相关的资源.

基本的spring系列和druid已经配置完毕. 接着我们需要解决上面自动生成的一些问题.基本配置截图如下:

52335f027ecfca5c2b629fdd81fa038b.png

基本的spring配置和druid配置后截图

现在我们会发现我们的jdbc.properties和mybatis-config.xml文件都是空的,我们需要继续写入内容.

jdbc.properties是数据库连接的配置文件.如下:

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3307/wordpress?useUnicode=true&characterEncoding=utf8

jdbc.username=数据库用户名

jdbc.password=数据库用户名对应的密码

上面的jdbc.driver为数据库连接的驱动,jdbc.url为数据库的连接地址.

mybatis-config.xml 顾名思义是mybatis的配置文件,如下:

/p>

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

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

配置完成上面的东西后,大体需要的我们已经完成了.但是,我们会看到我们的日志记录还没有配置,上面我们采用了log4j2,通过查看官网文档,我们发现只需要在资源目录下面添加一个默认的配置文件即可,如下:

配置文件文件名: log4j2.xml , 存放目录为src→main→resources

/logs/webLog

{LOG_HOME}/backup

stat

global

filePattern="${LOG_HOME}/${SERVER_NAME}.%d{yyyy-MM-dd-HH}.log">

fileName="${LOG_HOME}/${SERVER_NAME}_${STAT_NAME}"

filePattern="${LOG_HOME}/${SERVER_NAME}_${STAT_NAME}.%d{yyyy-MM-dd-HH}.log">

pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n"/>

modulate="true"/>

additivity="false">

至此,我们的基本配置就完成了,结果如下图所示:

db337a60da03eb09f0bf6a30fbc4a4a9.png

ssm框架整合完毕截图

具体基本配置完毕,下面我们需要进行实际演练方可知道效果,也能根据实际效果检查配置有没有出现问题.至于实际演练如何,且听下回分解.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值