SSM(spring+springMVC+mybatis)整合项目基础搭建过程及常见问题(idea版)

SSM整合_MQ(IntelliJ IDEA本)超详细Spring+SpringMVC+Mybatis整合 SSM整合_MQ(IntelliJ IDEA本) 超详细Spring+SpringMVC+Mybatis整合 一、创建项目 1. 打开IntelliJ IDEA ,新建maven项目,勾选 【Create from archetype】选择【org.apache.maven.archetypes:maven-archetype-webapp】骨架创建项目,如下图: 2. 输入组GroupId、... 阅读详情

适用于:springmvc初学者、javaEE期末考试抱佛脚

一、项目基础框架
1、首先需要先建一个web项目并部署到tomcat,这里我用Maven进行构建。

简单做一下包结构:

2、pom.xml 主要依赖:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.tfcdys</groupId>
  <artifactId>SSM001</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>SSM001 Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.3.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.3.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>4.3.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>aopalliance</groupId>
      <artifactId>aopalliance</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.49</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.7</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.1</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-dbcp2</artifactId>
      <version>2.2.0</version>
    </dependency>
  </dependencies>

  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.*</include>
        </includes>
      </resource>
    </resources>
    <finalName>SSM001</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

3、web.xml的配置:简单四点:

        1> spring配置文件路径

        2> filter配置编码格式;

        3> 监听器;

        4> servlet配置;

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <!--spring配置文件路径;-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <!--filter配置编码格式;-->
  <filter>
    <filter-name>encoding</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>encoding</filter-name>
    <url-pattern>*.action</url-pattern>
  </filter-mapping>
  <!--spring监听器;-->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!--servlet配置;-->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc-config.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>
</web-app>

 4、applicationContext.xml配置

        1> 读取数据库常量配置文件db.properties;

        2> 配置数据源dataSource;

        3> 配置事务管理器 依赖数据源

        4> 开启事务注解

        5>配置Mybatis工厂bean sqlSessionManager

        6>mapper扫描器

        7>开启service扫描

db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=95580
jdbc.maxTotal=30
jdbc.maxIdle=10
jdbc.initialSize=5

applicationContext.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: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">
    <!--    读取db.properties-->
    <context:property-placeholder location="classpath:db.properties"/>
    <!--    配置数据源-->
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="maxTotal" value="${jdbc.maxTotal}"/>
        <property name="maxIdle" value="${jdbc.maxIdle}"/>
        <property name="initialSize" value="${jdbc.initialSize}"/>
    </bean>
    <!--    配置事务管理器 依赖数据源-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <!--    开启事务注解-->
    <tx:annotation-driven transaction-manager="transactionManager"/>
    <!--    配置Mybatis工厂bean sqlSessionManager-->
    <bean id="sqlSessionManager" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>
    <!--    mapper扫描器-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.tfcdys.dao"/>
    </bean>
    <!--    开启service扫描-->
    <context:component-scan base-package="com.tfcdys.service"/>
</beans>

5、mybatis-congif.xml 因为开启了Mapper扫描 其他没什么好写的 用到再写

mybatis-congif.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <package name="com.tfcdys.domain"/>
    </typeAliases>
</configuration>

6、springmvc-config.xml: spring 4.0以后不用配置处理映射器,处理适配器,视图解析器 也能完成,这里主要写了视图解析器的前后缀 ,简化视图写法。

其他需要的配置也是用到再写 如:

<!-- 控制器 -->
<mvc:interceptors>
    <bean class="com.itheima.interceptor.*"/>
</mvc:interceptors>
<!-- 文件上传 -->
<bean id="multipartResolver"         class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="defaultEncoding" value="UTF-8"/>
</bean>

等等。。。

springmvc-config.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.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">
    <!--    扫描控制器controller-->
    <context:component-scan base-package="com.tfcdys.controller"/>
    <!--    mvc注解驱动-->
    <mvc:annotation-driven/>
    <!--    视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

到这里基础配置已经写完

现在的目录结构:

 可以结合具体的需求完善项目了。

二、常见问题

1、项目部署失败:多为.xml文件存在问题:

         1>直接报错的按照提示修改就行。

              如:xml中首行未顶格写;”classpath: *.*“后面有空格;

          2>web.xml中未指定或错误指定文件路径。

               如:此处未写:

                      

2、BindingException:绑定异常

原因:

        1>接口文件名与对应.xml文件名不一致;

         2>接口中方法名与对应.xml文件中方法名(id)不一致;

         3>接口中返回值类型与对应.xml文件中返回值类型(resultType(Map))不一致;

          4>spring文件中未指明或错误指明mapper文件所在包名

                        

                        

           5>未将java包下的.xml文件识别为资源文件 :应在pom.xml中添加:

                        

 如有错误 望雅正!

基于IDEA很详细的SSM整合过程 禁止转载,谢谢 在网上看到很多关于SSM整合框架,满怀信心的取跟着做,发现老是做着做着就报错飘红的很多,就很容易没有信心做下去,自己也是在网上找了好多,发现能用的比较少,自己就跟着教材做了一个用IDEA做的项目,也是跟着磨了好久,总算是做了出来,整理了一下就发了出来,风华在这里就分享给大家,希望能够给大家带来帮助。有帮助的话,你的支持就是我最大的动力。 都说“万事开头难”,第一步,要做的就是先要... 阅读详情

相关推荐

Idea创建一个JavaWeb的SSM(maven)项目

这里写自定义目录标题

zhangliewena的博客 1488

关于SSM框架SpringMVC-Spring-MyBatis整合过程中遇到的问题整理

1、关于Maven配置文件pom.xml各配置详解: 史上最全的maven的pom.xml文件详解 (作者:阿豪聊干货(博客园),若侵删) 2、Eclipse中SSM框架整合步骤: SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)(作者:酷玩时刻(CSDN),若侵删) 3、利用MyBatis-generator如何自动生成实体类、实体类映射文件和Dao文件:...

noob_Cliam的博客 610

Intellij IDEA使用(十一)—— 使用Intellij IDEA创建Spring+SpringMVC+MybatisSSM整合项目

注:这篇主要是讲SSM整合配置以及连接数据库并实现简单的登陆注册功能,如果不知道怎么在Intellij IDEA上创建JavaWeb项目的请参考: Intellij IDEA使用(九)—— 使用Intellij IDEA创建JavaWeb项目并配置jar包 一、项目使用的jar包示例 缺少jar包的可以到Maven中心仓库去下载:Maven Repository 二、编写xml

云卷云舒的架构师之路 4440

SSMSpring+SpringMVC+MyBatis)三大框架整合及遇到的各种问题

前面的很多就不多说了,关于Maven安装,很多详细的配置在这里不多说,更详细的请参考http://www.tuicool.com/articles/Fru26n,这里从使用Maven新建web项目开始,并解决各种问题。 第一步:

YING_SHANG的博客 1259

IDEASpringBoot中集成SpringMVC+Mybatis+Jsp中遇到的坑之jsp页面无法加载

最近想学习一下Springboot,顺便搭建一个SpringBoot集成SpringMVC,做几个Demo练练手,但搭建了一下午,一直页面页面出不来,在Controller中已经可以运行了,而且页面显示的JSP页面路径是正确的,但页面一直出不来,如图: 贴出我的配置: -----结构图: -----测试跳转页面的Controller -----application配置文件 ...

u010088278的博客 795

SSM理解

Spring   Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。   Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new一个对象,而是让Spring框架帮你来完成这一切。   SpringMVC   SpringMVC项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Contro

EricC123的博客 758

Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not b

报错信息: Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlyi...

ShiXinXin_Harbour的博客 2万+

Java-Spring入门指南(二十三)俩万字超详细讲解利用IDEA手把手教你实现SSMSpring + SpringMVC + MyBatis整合,并构建第一个SSM基础系统

开始前先确保以下工具和环境已就绪: 依赖必须使用相同 作用:包含SpringMVC全部核心功能,如、、视图解析器等,是MVC架构的基础。 作用:提供、等Servlet规范接口,SpringMVC基于此运行;表示由Tomcat等容器提供,无需打包。 作用:支持JSP视图技术的语法解析,若项目用JSP展示页面则必需;表示由Tomcat提供。 作用:提供MyBatis的ORM核心功能,如SQL映射、会话管理等,是数据访问层的基础。 作用:实现MyBatisSpring的无缝整合,让My

2402_83322742的博客 3065

使用IDEA搭建SSM项目

摘要:前几天学习了SSM项目搭建,但是因为配置过程中出现了问题因此没有搭起来,我最讨厌不确定的事情,因此自己花费了点时间钻研搭建SSM项目的方法,终于习得了SSM项目搭建的方法,接下来我会记录一次我自己搭建SSM项目过程

云杉木屋 2518

【中软实训】Day03:IDEA + Maven环境下的SSM框架整合

说明:本文记录如何在Idea下,利用Maven管理项目,并整合SSMSpring + Spring MVC +Mybatis框架,实现简单的增删改查功能。 〇、开发工具 IntelliJ IDEA 2018.2.2 x64 JDK1.8.0_181 Apache Maven 3.6.0 Apache Tomcat 7.0 MySQL 5.5.8 一、Maven安装配置 ...

拾年之璐 839

ssm整合 idea+maven

打开 IDEA 工具,通过 File -> New -> Project,新建项目,或者直接在 IDEA 欢迎页面点击新建项目 “ GroupID ” 是项目组织唯一的标识,实际对应 Java 的包结构,是 main 目录里 Java 的目录结构, “ ArtifactID ” 是项目的唯一的标识符,实际对应项目的名称,也就是项目根目录的名称,名为 ssmdemo 。 一...

weixin_30678821的博客 148

SSM整合-基于IDEA社区和Maven

基于IDEA社区和Maven的SSM整合案例

IT从业者的成长历程 1860

ssm框架搭建连接mysql_从零开始搭建SSM框架Spring + Spring MVC + Mybatis

最近在回顾和总结一些技术,想到了把之前比较火的 SSM 框架重新搭建出来,作为一个小结,同时也希望本文章写出来能对大家有一些帮助和启发,因本人水平有限,难免可能会有一些不对之处,欢迎各位大神拍砖指教,共同进步。本文章示例使用 IntelliJ IDEA 来开发,JDK 使用 11 本,其余各框架和技术基本上使用了文章撰写当时的最新本。好的,下面直接进入正题。打开 IntelliJ IDEA,F...

weixin_39823200的博客 1695

idea搭建基于maven的ssm整合框架

自从进入一家游戏公司以后,就抛弃了eclipse转战于idea,刚开始一直很不习惯,但是用了一周以后,在打开eclipse的时候,有一种想卸载掉的冲动,好吧,我是觉得idea比eclipse好用,关于它们的战争我们就不讨论了,下面介绍一下idea中怎么搭建ssm基于maven的整合框架吧。 作为一个优秀的框架spring一直横穿整合javaee的世界,在学习javaweb的时候,由原

被世界遗弃的江的博客 1万+

IntelliJ IDEA + Maven搭建SSM框架项目实战详解

在pom.xml中,groupIdartifactId和version构成坐标系统(GAV),唯一标识一个Maven构件。groupId:通常采用反向域名命名法,表示组织或公司。例如:。artifactId:项目名称或模块名,建议使用小写字母和连字符分隔,如。version:本号格式一般为主本.次本.修订号,如。SNAPSHOT表示开发中的快照本,每次构建都会覆盖旧本。对于大型系统,推荐采用。

weixin_33608403的博客 966

超详细图解从0搭建SSM框架intellij idea

关于springMVC的配置,可以参考这篇文章: SpringMVC 配置FreeMarker模板引擎:文章链接:http://blog.csdn.net/w8897282/article/details/71215591第一步:打开intellij idea,创建maven项目既然是从0开始,那么我们就从打开intellij idea 开始!点击intellij idea左上方的project-

Java团长 1万+

SpringMVC---整合SSM框架之开发环境搭建

SpringMVC整合SSM框架之环境搭建 我们的征程是星辰大海,而非人间烟尘 最近在整合一个小的SSM框架整合是时候是真的发现之前学习的SpringSpringMVCMybatis都忘得差不多了,又花了两天之间回顾之前学的三个基本框架,又重新整合SSM整合过程中发现了好多问题,改了2天,简直要yue了,直到今天上午才把环境搭建成功。 文章目录SpringMVC---整合SSM框架之环境搭建开发环境Mybatis层1.创建数据库环境2.基本环境搭建3.建立基本结构和配置框架!4.数据库配置文

乐褀的博客 366
上一篇: idea配置tomcat(简易版)
下一篇: 考研英语作文模板(功能句+行文思路)
tfcdys
博客等级 码龄5年 5粉丝 3原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值