SSM框架

  SSM是Spring + Spring MVC + MyBatis的缩写,是一个继SSH之后目前比较主流的JavaEE框架,适用于搭建各种企业级应用系统。

Spring

  Spring是一个开源的、于2003年兴起的、轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来,是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成各种事情,具有简单性、可测试性和松耦合等特点,其用途不仅限于服务器端的开发,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

IoC

  控制反转,即Inversion of Control,利用工厂模式将对象交给容器管理,只需在spring的配置文件中配置相应的bean,然后对其设置相应的属性,让spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候,spring会把配置文件中配置好的bean都进行初始化,然后在需要调用的时候把已经初始化好的这些bean分配给调用这些bean的类,因为调用了bean对象的setter方法来注入,所以就不需要再去使用new来实例这些bean了。Spring最认同控制反转的依赖注入(DI)模式。依赖注入,即Dependency Injection,是控制反转的一个具体的方式,当编写一个复杂的Java程序时,此程序的类应该尽可能的独立于其他的Java类来增加这些类可重用性;当进行单元测试时,可以使它们独立于其他类进行测试。依赖注入有助于将这些类粘合在一起,并且在同一时间让它们保持独立。依赖,即两个类之间的关联,类A依赖于类B;注入,即将类B通过IoC注入到类A中。依赖注入可以通过向构造函数传递参数的方式,或者使用setter方法。可以说依赖注入是Spring框架的核心概念。

AOP

  面向切面,即Aspect Oriented Programming,是Spring的特性,和OOP一样是一种编程思想,是对OOP的补充和完善。OOP定义了从上到下的关系,但并未很好地定义从左到右的关系,例如日志功能,日志代码水平地散布在所有对象层次中,但不可影响到所散布的对象的核心功能。如果使用OOP思想来设计,会导致大量代码的重复,从而不利于各个模块的重用。使用AOP,即是将程序中的交叉业务逻辑(比如日志,事务,安全验证,数据缓存等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去,在不改变原有代码的基础上扩展新的功能实现。具体的实现AOP一般分为两种:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“切面”,从而使得编译器可以在编译期间织入有关“切面”的代码。常用的就是利用AOP实现前置通知、后置通知、返回通知、异常通知等。

Spring MVC

  Spring MVC属于Spring Framework产品家族,是一个基于MVC架构,简化的web应用程序开发的框架,原生支持Spring特性,让开发变得非常的简单规范。Spring MVC框架通过实现 模型(Model)— 视图(View)— 控制器(Controller)模式来很好地将数据、业务与展现进行分离。Spring MVC的设计是围绕DispatcherServlet展开的,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请求给相应的Handler,Handler处理以后再返回相应的模型和视图,返回的模型和视图都可以不指定,即可以只返回Model或只返回View或都不返回。

MyBatis

  MyBatis是由apache的一个开源项目iBatis演变而来,2010年iBatis项目由apache software foundation迁移到了google code,改名为MyBatis,2013年11月又迁移到Github。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录。简单来说,MyBatis是一个用来管理数据增删改查(CRUD)的框架。

PlayJava SSM框架简介的更多相关文章

  1. SSM框架简介及整合教程

    1.Spring Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (控制反转) 和 A面向切面编程).Spring框架是个轻量级的Java E ...

  2. SSM框架---搭建

    SSM框架简介 SSM框架,是spring + spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统. Spr ...

  3. IDEA 整合 SSM 框架学习

    认识 Spring 框架 更多详情请点击这里:这里 Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control ...

  4. 详解intellij idea搭建SSM框架(spring+maven+mybatis+mysql+junit)(上)

    SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架. 其中spring是一个轻 ...

  5. SSM框架——实现分页和搜索分页

    登录|注册     在路上 在路上,要懂得积累:在路上,要学会放下:我在路上!Stay hungry,Stay foolish.       目录视图 摘要视图 订阅 [公告]博客系统优化升级     ...

  6. SpringMVC笔记——SSM框架搭建简单实例

    落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...

  7. SSM框架整合(Spring+SrpingMVC+Mybatis) 简单案例

    简介: SSM框架是Spring,SpringMVC 和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,dao层四层. Spring实现 ...

  8. JAVA:ssm框架搭建

    文章来源:http://www.cnblogs.com/hello-tl/p/8328071.html 环境简介 : jdk1.7.0_25/jdk1.8.0_31  tomcat-7.0.81  m ...

  9. Spring SSM 框架

    IDEA 整合 SSM 框架学习 http://www.cnblogs.com/wmyskxz/p/8916365.html 认识 Spring 框架 更多详情请点击这里:这里 Spring 框架是 ...

随机推荐

  1. wordpress开源小程序

    wordpress多端开源小程序正式发布了,目前支持微信/QQ/百度/今日头条. 目前我们的开源小程序,已经建立了微信QQ交流群,需要的可以加下,微信添加hackdex(备注开源拉你入群),QQ群:7 ...

  2. numpy和matplotlib下载中出现的问题

    在安装numpy的时候遇到如下所示的错误: 经过几个小时的查找,最终发现是pygame的路径不对导致.将pygame的具体路径加上后,问题解决.实施如下:得出一个结论:路径很重要,千万得小心哦. 报错 ...

  3. 《手把手教你》系列练习篇之2-python+ selenium自动化测试(详细教程)

    1. 简介 今天我们还是继续练习练习基本功,各位小伙伴要耐住住性子,要耐得住寂寞啊,不要急躁,后面你会感谢你在前边的不断练习的.到后面也是检验你前边的学习成果的一次很好实践. 本文介绍如何通过link ...

  4. Stream系列(六)Match方法使用

    条件比配 视频讲解 https://www.bilibili.com/video/av77403655/ EmployeeTestCase.java package com.example.demo; ...

  5. linux runlevel运行级别

    1.linux通过设定runlevel来设定系统使用不同的服务启动,从而使得linux运行的环境有所不同. 2.当系统启动后会按照以下步骤完成初始化:运行/sbin/init程序加载器配置文件/etc ...

  6. 英语口语考试资料Friendships

    Friendships Remember Friendships can be complicated. When you want to get to know someone, it helps ...

  7. python函数-参数

    python函数-参数 实验室 # 演示形参是可变类型 def register(name, hobby, hobby_list=[]): hobby_list.append(hobby) print ...

  8. 系统默认的alert弹出框总会带有域名

    最近在开发Hybrid APP时发现用系统默认的alert弹出框总会带有域名,用户体验就比较不好了.想了一种办法来解决就是覆盖alert的方法. (function(){       window.a ...

  9. 在文件夹下所有文件中查找字符串(linux/windows)

    在linux下可以用 grep "String" filename.txt#字符串 文件名grep -r "String" /home/#递归查找目录下所有文件 ...

  10. 华为云Volcano:让企业AI算力像火山一样爆发

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...