Intellij IDEA 2017创建SSM入门项目及相关配置

转自  https://blog.csdn.net/chensanwa/article/details/79262647

版权声明:本文为博主原创文章,转载请注明出处,谢谢。 https://blog.csdn.net/chensanwa/article/details/79262647

前言

  • 本文主要讲解Intellij IDEA创建SSM入门项目
  • 本文不会讲解SSM的理论知识
  • 本文所建项目未用到maven进行管理
  • 本文篇幅很长,请配同目录享用

环境说明

  • Intellij IDEA 2017.2.6
  • Apache-tomcat-8.5.23
  • jdk 1.8
  • MySQL 5.7
  • Windows 10

版本说明

  • Spring-4.3.14
  • MyBatis-3.4.4
  • c3p0-0.9.2.1
  • Aspectj-1.8.13
  • Junit-4.10
  • Log4j-1.2.17

创建项目

创建Spring项目,并勾选如图所示,next 
这里写图片描述

填写项目名称和路径,finish 
这里写图片描述
(这里为做测试所用,随意写的项目名称,路径用的默认路径)

等待jar包下载,可能需要几分钟,看自己的网速啦 
这里写图片描述

导入jar包与Build Path

1、导包

在Spring、Spring MVC、MyBatis进行整合的过程中,除了IDEA为我们提供的Spring的JAR包外,我们还需要另外的许多jar包,如图 
这里写图片描述

这里写图片描述

注:jar包前边有一个尖角符号的为IDEA为我们提供的,其余为我们自己添加 
另附上SSM整合JAR包下载

2、Build Path

在我们进行导入jar包后,IDEA并不会直接进行Build Path,在这里我们需要进行手动Build Path 
这里写图片描述

这里写图片描述

apply,OK

创建文件夹并指定类型

这里写图片描述

注:上图中的文件夹并非需要全部创建,看个人的项目需求,在这里我主要是将SSM项目所需的大部分文件夹创建,因为本文只讲解SSM项目的创建与相关配置,所以绝大部分文件夹是用不到的,大家忽略就行了

指定相应文件夹类型

“java”文件夹为”Sources” 
这里写图片描述

“resources”文件夹为“Resouces”类型 
这里写图片描述

“test”文件夹为“Test”类型 
这里写图片描述

配置Spring

0、Spring初始及监听器

强大的IDEA已经帮我们在web.xml文件中为我们配置好了,我们查看下。 
这里写图片描述

至于为什么需要这一步,你去google、百度问问,相信你会对于Spring有一个更深的了解

1、创建Spring配置文件

在我们使用IDEA创建SSM项目的时候,IDEA已经给我们自动生成了spring的配置文件applicationContext.xml 
这里写图片描述

在这里我们将配置文件的位置进行调整下,即将applicationContext.xml文件移动到resources目录下的spring文件夹

这里写图片描述

2、创建bean配置文件

在实际的开发项目中,特别是遇稍具规模的项目,可能会有多个bean需要在spring中进行注入,所以我们推荐将各个bean的注入进行配置文件分离

创建配置文件如图:

这里写图片描述

增加配置文件如图,并在applicationContext.xml配置文件中进行导入配置 
这里写图片描述
注:现目前几个配置文件中的内容为空

3、配置aop

创建aop-config.xml配置文件,并在applicationContext.xml配置文件进行导入 
这里写图片描述

在aop-config.xml配置文件中进行配置

<span style="color:rgba(0, 0, 0, 0.75)"><span style="color:#000000"><code>    <span style="color:#880000"><!--aop注解方式--></span>
    <span style="color:#006666"><<span style="color:#4f4f4f">aop:aspectj-autoproxy</span>></span><span style="color:#006666"></<span style="color:#4f4f4f">aop:aspectj-autoproxy</span>></span>

    <span style="color:#006666"><<span style="color:#4f4f4f">aop:config</span> <span style="color:#4f4f4f">proxy-target-class</span>=<span style="color:#009900">"true"</span>></span><span style="color:#006666"></<span style="color:#4f4f4f">aop:config</span>></span>
</code></span></span>
  • 1
  • 2
  • 3
  • 4
  • 5

4、配置事务

由于配置事务需要用到数据源,所以将事务配置放于配置MyBatis后

配置MyBatis

1、创建测试用的数据库和表

<span style="color:rgba(0, 0, 0, 0.75)"><span style="color:#000000"><code><span style="color:#000088">create</span> <span style="color:#000088">database</span> test;
<span style="color:#000088">create</span> <span style="color:#000088">table</span> <span style="color:#000088">user</span>(id <span style="color:#000088">int</span>,name <span style="color:#000088">varchar</span>(<span style="color:#006666">20</span>),password <span style="color:#000088">varchar</span>(<span style="color:#006666">40</span>));</code></span></span>
  • 1
  • 2

2、创建db.properties,并编写相关参数

这里写图片描述

<span style="color:rgba(0, 0, 0, 0.75)"><span style="color:#000000"><code>jdbc<span style="color:#009900">.driver</span>=<span style="color:#000088">com</span><span style="color:#009900">.mysql</span><span style="color:#009900">.jdbc</span><span style="color:#009900">.Driver</span>
<span style="color:#009900">#数据库地址</span>
jdbc<span style="color:#009900">.url</span>=jdbc:mysql://<span style="color:#006666">127.0</span><span style="color:#006666">.0</span><span style="color:#006666">.1</span>:<span style="color:#006666">3306</span>/test?userUnicode=true&characterEncoding=utf-<span style="color:#006666">8</span>
<span style="color:#009900">#用户名</span>
jdbc<span style="color:#009900">.username</span>=root
<span style="color:#009900">#密码</span>
jdbc<span style="color:#009900">.password</span>=root
<span style="color:#009900">#最大连接数</span>
c3p0<span style="color:#009900">.maxPoolSize</span>=<span style="color:#006666">30</span>
<span style="color:#009900">#最小连接数</span>
c3p0<span style="color:#009900">.minPoolSize</span>=<span style="color:#006666">10</span>
<span style="color:#009900">#关闭连接后不自动commit</span>
c3p0<span style="color:#009900">.autoCommitOnClose</span>=false
<span style="color:#009900">#获取连接超时时间</span>
c3p0<span style="color:#009900">.checkoutTimeout</span>=<span style="color:#006666">10000</span>
<span style="color:#009900">#当获取连接失败重试次数</span>
c3p0<span style="color:#009900">.acquireRetryAttempts</span>=<span style="color:#006666">2</span></code></span></span>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

我建议自己进行所有的代码都自己敲,加深印象,特别是初学SSM的小伙伴

3、创建c3p0.xml配置文件,配置c3p0连接池

这里写图片描述

<span style="color:rgba(0, 0, 0, 0.75)"><span style="color:#000000"><code>    <span style="color:#880000"><!--数据库配置参数--></span>
    <span style="color:#006666"><<span style="color:#4f4f4f">context:property-placeholder</span> <span style="color:#4f4f4f">location</span>=<span style="color:#009900">"properties/db.properties"</span>/></span>

    <span style="color:#880000"><!--连接c3p0连接池--></span>
    <span style="color:#006666"><<span style="color:#4f4f4f">bean</span> <span style="color:#4f4f4f">id</span>=<span style="color:#009900">"comboPooledDataSource"</span> <span style="color:#4f4f4f">class</span>=<span style="color:#009900">"com.mchange.v2.c3p0.ComboPooledDataSource"</span>></span>
        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"driverClass"</span> <span style="color:#4f4f4f">value</span>=<span style="color:#009900">"${jdbc.driver}"</span>/></span>
        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"jdbcUrl"</span> <span style="color:#4f4f4f">value</span>=<span style="color:#009900">"${jdbc.url}"</span>/></span>
        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"user"</span> <span style="color:#4f4f4f">value</span>=<span style="color:#009900">"${jdbc.username}"</span>/></span>
        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"password"</span> <span style="color:#4f4f4f">value</span>=<span style="color:#009900">"${jdbc.password}"</span>/></span>
        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"maxPoolSize"</span> <span style="color:#4f4f4f">value</span>=<span style="color:#009900">"${c3p0.maxPoolSize}"</span>/></span>
        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"minPoolSize"</span> <span style="color:#4f4f4f">value</span>=<span style="color:#009900">"${c3p0.minPoolSize}"</span>/></span>
        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"autoCommitOnClose"</span> <span style="color:#4f4f4f">value</span>=<span style="color:#009900">"${c3p0.autoCommitOnClose}"</span>/></span>
        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"checkoutTimeout"</span> <span style="color:#4f4f4f">value</span>=<span style="color:#009900">"${c3p0.checkoutTimeout}"</span>/></span>
        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"acquireRetryAttempts"</span> <span style="color:#4f4f4f">value</span>=<span style="color:#009900">"${c3p0.acquireRetryAttempts}"</span>/></span>
    <span style="color:#006666"></<span style="color:#4f4f4f">bean</span>></span>
</code></span></span>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

4、创建mybatis-config.xml配置文件

在Spring整合MyBatis后,我们直接废弃MyBatis的配置文件,转而用spring的配置文件,进行配置mybatis

这里写图片描述

说明:

  • 引入c3po.xml配置文件
  • 配置数据源
  • 扫描mapper包,实现mapper接口和mapper.xml配置文件的分离(原来的规范是接口和XML配置文件必须放在同一目录)
  • 这里就不贴代码了,大家都手动敲击吧

别忘记在applicationContext.xml配置文件中进行引入mybatis-config.xml文件哟

5、Spring配置之配置事务

在实际开发项目中,一般都会进行事务的配置,

这里写图片描述

同样的,在applicationContext.xml文件引入。

此时,事务已经配置好了,一般我们会在service层上使用事务,只需要在service类上加上事务注解即可。

注:在本入门项目中并未使用事务管理,所以我们这里只是进行配置的演示。

具体事务教程请见 Spring入门之事务管理【二】注解方式

配置Spring MVC

1、web.xml配置

在此,我们就使用IDEA中直接生成的web.xml配置文件,注意配置的路径

这里写图片描述

2、dispatcher-servlet.xml配置

这里写图片描述

至此,SSM基本配置完成

测试Spring整合MyBatis

0、如需查看Spring整合MyBatis知识请访问

MyBatis入门【十二】 Spring整合MyBatis基础

1、创建JavaBean

创建User类 
这里写图片描述
注入类 
这里写图片描述

2、创建dao接口

创建IUserDao接口 
这里写图片描述
注:此处测试使用的是mapper代理开发方式

3、mapper.xml配置文件

创建UserMapper配置文件 
这里写图片描述

注意图中标红区域的配置,配置详情请猛击MyBatis入门【三】Mapper开发基础

注入UserMapper 
这里写图片描述

4、测试方法

这里写图片描述

这里写图片描述

测试绿条,并且打印出了id为1的用户的姓名,表示测试成功

测试Spring MVC

0、Spring MVC测试项目可参考

Intellij IDEA创建spring MVC项目

1、创建hello.jsp

这里写图片描述

2、controller编写

这里写图片描述

3、项目部署

这里写图片描述

这里写图片描述

这里写图片描述

4、启动服务器进行测试

在这里我出现了关于listener启动失败的错误 
这里写图片描述

由于博主在查资料查了三个小时没有解决这个问题,我只能暂时先不用监听器,在此我先屏蔽监听器

这里写图片描述

重启服务器,输入http://localhost:8080/ssmdemo/test/hello进行测试 
这里写图片描述 
测试成功

注:我将在后边发布关于listener启动失败的解决办法,还望知道原因的朋友能够评论或者私信我,谢谢


时间分割线

错误解决补更

一不小心就过去了半个多月的时间了,过年过得开心啦。 
回学校的第二天就抓紧来修复这个问题。

注:回来后我按照上边的教程进行了一步一步傻瓜式的配置,但在Spring中Bean管理时,我没有使用XML配置文件的方式,而是采用了注解的方式进行,完成代码在文末有下载链接。当然,大家也可以使用原来的项目进行错误的修复即可,并不会影响。

仔细一看,上边错误提示叫我们看错误日志。

好吧,那我就编写了log4j文件,置于src目录下。

再次启动服务器,查看错误日志: 
这里写图片描述

仔细一读,发现是我mapper路径的问题,将Spring配置文件中,配置MyBatis更改如下。

<span style="color:rgba(0, 0, 0, 0.75)"><span style="color:#000000"><code>    <span style="color:#880000"><!--配置MyBatis--></span>
    <span style="color:#006666"><<span style="color:#4f4f4f">bean</span> <span style="color:#4f4f4f">class</span>=<span style="color:#009900">"org.mybatis.spring.SqlSessionFactoryBean"</span>
          <span style="color:#4f4f4f">id</span>=<span style="color:#009900">"sqlSessionFactory"</span>></span>
        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"dataSource"</span> <span style="color:#4f4f4f">ref</span>=<span style="color:#009900">"comboPooledDataSource"</span>/></span>

        <span style="color:#006666"><<span style="color:#4f4f4f">property</span> <span style="color:#4f4f4f">name</span>=<span style="color:#009900">"mapperLocations"</span> <span style="color:#4f4f4f">value</span>=<span style="color:#009900">"classpath:mapper/*.xml"</span>/></span>
    <span style="color:#006666"></<span style="color:#4f4f4f">bean</span>></span></code></span></span>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

进行重新启动服务器,无错误,在浏览器地址栏输入http://localhost:8080/ssmdemo06/test/hello进行测试。

正常跳转,测试成功。 
这里写图片描述

代码下载

完整项目代码下载:ssmdemo

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值