ssm的简单整合入门

liu-bia liu-bia     2023-01-30     494

关键词:

1.首先我们得知道什么是SSM?

  SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

 

 

2.SSM能做什么,能给我们带来什么呢?

Spring
  Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
  Spring的核心思想是IOC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
  DI(依赖注入),在其它层引用对象时可以将其注入
  AOP(面向切面编程),可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
SpringMVC
  SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
Mybatis
  mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

  就像上面所说的,它是什么就决定了它能做什么

 

3.下面见识一下SSM的魅力吧

技术分享图片

 

 

 

 

 3.1 整合思路

  1. 首先先搭建环境
  2. 先把spring的配置搭起来
  3. 用spring整合springmvc
  4. 用spring整合mybatis

 

 3.2需要的jar包

 

  

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <spring.version>5.0.2.RELEASE</spring.version>
    <slf4j.version>1.6.6</slf4j.version>
    <log4j.version>1.2.12</log4j.version>
    <mysql.version>5.1.6</mysql.version>
    <mybatis.version>3.4.5</mybatis.version>
</properties>

<dependencies>

    <!-- spring -->
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.6.8</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>$spring.version</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>$spring.version</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>$spring.version</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>$spring.version</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</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>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>$mysql.version</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <!-- log start -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>$log4j.version</version>
    </dependency>

    <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 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>$mybatis.version</version>
    </dependency>

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.3.0</version>
    </dependency>

    <dependency>
        <groupId>c3p0</groupId>
        <artifactId>c3p0</artifactId>
        <version>0.9.1.2</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>

</dependencies>

 

  3.3 需要的实体类 com.a.domian

public class Account implements Serializable
    private Integer id;
    private String name;
    private Double money;

  3.4 Dao层 com.a.dao

@Repository

public interface AccountDao

  @Select("select * from account)

  List  findAll();

  @Insert into account values(#id,#name,#money)

  void saveAccount(Account account);

 

  3.5 service层 com.a.service

public interface AccountService()

   List findAll();

   void saveAccount();  

 

实现类:

@Service

public Class AccountServiceImpl implement AccountService

    @Autowired

    private AccountDao accountdao;

 

  public List fndAll()

   return accountDao.findAll();

  public void saveAccount(Account account)

   accountDao.saveAccount(account);

 

  

  3.6 AccountController类 com.a.controller

@Controller

@RequestMapping("/Account")

public class AccountController

  @Autowired

  private AccountService accountService;

 

  

@RequestMapping(path = "/findAll")

  public String  findAll() 

  List<Account> list = accountService.findAll();
        for (Account account : list)
            System.out.println(account);
        
        return "success";

@RequestMapping(path = "/save")

public String saveAccount(Account account)

  accountService.saveAccount(account);

    return "success";

 

 

  3.7 Mybatis环境

在resources下配置一个

SqlMapConfig.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>
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql:///ssm"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <!-- 使用的是注解 -->
    <mappers>
        <!-- <mapper class="com.itheima.ssm.dao.AccountDao"/> -->
        <!-- 该包下所有的dao接口都可以使用 -->
        <package name="com.a.dao"/>
    </mappers>
</configuration>

 

 

  3.8 spring环境

 

applicationContext.xml

<context:component-scan base-package="com.a.service">

</context:component-scan>

<import resource="SqlMapConfig.xml">

 

 

 log4j.properties(日志输出)

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=info, CONSOLE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%dISO8601 %-6r [%15.15t] %-5p %30.30c %x - %m

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:/axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%dISO8601 %-6r [%15.15t] %-5p %30.30c %x - %m

 

  3.9 SpringMVC环境

web.xml

   

<!-- 配置前端控制器:服务器启动必须加载,需要加载springmvc.xml配置文件, SpringMVC的容器>
<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 配置初始化参数,创建完DispatcherServlet对象,加载springmvc.xml配置文件 -->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springmvc.xml</param-value>
    </init-param>
    <!-- 服务器启动的时候,让DispatcherServlet对象创建 -->
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

 

<!-- 配置解决中文乱码的过滤器 -->
<filter>
    <filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 

resources下,创建springmvc.xml

    

context:component-scan base-package="com.a.controller>
    </context:component-scan>

 

 

 <!-- 配置视图解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- JSP文件所在的目录 -->
        <property name="prefix" value="/WEB-INF/pages/" />
        <!-- 文件的后缀名 -->
        <property name="suffix" value=".jsp" />
    </bean>

<mvc:resources location="/css/" mapping="/css/**" />
    <mvc:resources location="/images/" mapping="/images/**" />
    <mvc:resources location="/js/" mapping="/js/**" />

    <!-- 开启对SpringMVC注解的支持 -->
    <mvc:annotation-driven />

<import  resource="applicationContext.xml">




























































































































































ssm整合快速入门程序

...2003年兴起的一个轻量级的Java开发框架,由RodJohnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。SpringMVC属于SpringFrameWork的后 查看详情

简单易懂:ssm入门级项目整合实例教程+附项目源码(代码片段)

欢迎===关注===点赞===评论,共同学习,共同进步!你的点赞、关注、评论、是我创作的动力!-------希望我的文章对你有所帮助--------目录一、前言二、推荐开发及运行环境三、项目基本... 查看详情

ssm框架整合入门系列——修改-员工的修改(代码片段)

ssm框架整合入门系列——修改-员工的修改修改操作的保存员工数据方法用了put提交方式,这有一个有意思的问题,由于tomcatreqeust.java自身的问题,导致request.getParameter("empNmae")拿不到put方式提交请求体的数据。解决办法,... 查看详情

ssm框架快速整合实例——学生查询(代码片段)

...我前面已经写过几篇文章作为基础和入门介绍了。这里再简单的介绍一下:1.SpringSpring框架是Java应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC(控制反转) 和 A面向切面编程)。Spring框架是... 查看详情

ssm整合快速入门程序

下面我们配置serivce层到项目中1.service包中创建ItemsService.java接口,和service.imp包中创建一个service实现类ItemsServiceImpl.javapackagecn.my.ssm.serive;importjava.util.List;importcn.my.ssm.po.Items;publicinterfaceItemsService{Li 查看详情

ssm框架整合入门系列——总结

完结撒花不论是代码的完成,还是文章的写完都让我筋疲力尽。幸好,对于框架的理解也在一点点的加深,对于项目的构建也有了很大程度的熟悉,而这种项目的纪录让我发现,有时候代码的修改、覆盖会导致很多细节是文章写... 查看详情

ssm框架集-01-详细介绍-入门问题篇

...合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。SSM是标准的MVC模式,将整个系统划分为表现层,controller层,service层, 查看详情

ssm简单整合(代码片段)

...:需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识数据库环境创建一个存放书籍数据的数据库表CREATEDATABASE`ssmbuild`;USE`ssmbuild`;DROPTABLEIFEXISTS`books`;CREATETABLE`books`(`book 查看详情

ssm框架整合入门系列——新增-员工的添加(代码片段)

新增-员工的添加新增-逻辑在index.jsp页面点击“新增”弹出新增对话框去数据库查询部门列表,显示在对话框中用户输入数据,并进行校验jquery前端校验,ajax用户名重复校验,重要数据(后端校验(JSR303),唯一约束)完成保存URI:... 查看详情

ssm简单整合

一、整合步骤:新建项目,创建一个lib目录导入所有的jar包新建一个config目录,设置为资源目录,用于存放配置文件把所有需要的配置文件放到config目录中在web.xml配置加载spring容器新建所有的类和接口进行测试二、具体实施1.新... 查看详情

ssm+ehcachessm简单整合ehcache缓存

z这里只讲ssm整合ehcache缓存,对于还不了解ssm的童鞋,请先浏览ssm整合那篇EhCache是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用... 查看详情

javaweb开发入门八(ssm整合)基于intelligidea

ssm整合一、导入相关包 二、开发流程1.写entitypackagecom.eggtwo.euq.entity;importjava.io.Serializable;importjava.math.BigDecimal;importjava.util.Date;publicclassMember{privateintid;publicintgetId(){returnid;}publi 查看详情

ssm框架快速整合的实例-学生查询(代码片段)

SSM框架快速整合实例--学生查询一、快速准备SSM框架即Spring框架、SpringMVC框架、MyBatis框架,关于这几个框架的基础和入门程序,我前面已经写过几篇文章作为基础和入门介绍了。对于这3个框架还不熟悉的同学,可以参考一下几... 查看详情

ssm项目整合springsecurity

SpringSecurity和Shiro的区别:简单来说,Shiro使用比较简单,但SpringSecurity的功能更加强大。Springsecurity是属于Spring家族的,与Spring框架整合的比较贴切,充分利用了Spring框架的一些特性,IOC,AOP等。SSM项目整合SpringSecurity框架:1,... 查看详情

ssm-整合简单配置

...总览:   为了能够让项目跑一个HelloWorld,添加了简单User业务,接下来就看一下配置文件的内容:  application.xml<?xmlversion="1.0"encoding="UTF-8" 查看详情

ssm框架整合(新手必备)

...的是出于自己学完了基础的SSM框架以及自己实操完成SSM的整合后,对比网上一大堆的文章写了关于SSM整合的文章,有写的好的也有写的很片面的,于是觉得需要写一篇文章来记录下自己的心得,希望这篇文章适合刚入门的新手去... 查看详情

ssm整合初级简单的增删改查

1.jar包  2.mybatis-config.xm配置文件<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configura 查看详情

ssm整合简单配置(代码片段)

最近由于系统重装,之前已经写好了的框架都被我删的一干二净,于是自己动手重新搭了个简答的ssm运行环境(java1.8,Tomcat8.5,maven3.5,MySQL6.0) pom.xml<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-in... 查看详情