PlayJava SSM框架简介
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框架简介的更多相关文章
- SSM框架简介及整合教程
1.Spring Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (控制反转) 和 A面向切面编程).Spring框架是个轻量级的Java E ...
- SSM框架---搭建
SSM框架简介 SSM框架,是spring + spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统. Spr ...
- IDEA 整合 SSM 框架学习
认识 Spring 框架 更多详情请点击这里:这里 Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control ...
- 详解intellij idea搭建SSM框架(spring+maven+mybatis+mysql+junit)(上)
SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架. 其中spring是一个轻 ...
- SSM框架——实现分页和搜索分页
登录|注册 在路上 在路上,要懂得积累:在路上,要学会放下:我在路上!Stay hungry,Stay foolish. 目录视图 摘要视图 订阅 [公告]博客系统优化升级 ...
- SpringMVC笔记——SSM框架搭建简单实例
落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...
- SSM框架整合(Spring+SrpingMVC+Mybatis) 简单案例
简介: SSM框架是Spring,SpringMVC 和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,dao层四层. Spring实现 ...
- JAVA:ssm框架搭建
文章来源:http://www.cnblogs.com/hello-tl/p/8328071.html 环境简介 : jdk1.7.0_25/jdk1.8.0_31 tomcat-7.0.81 m ...
- Spring SSM 框架
IDEA 整合 SSM 框架学习 http://www.cnblogs.com/wmyskxz/p/8916365.html 认识 Spring 框架 更多详情请点击这里:这里 Spring 框架是 ...
随机推荐
- [译]Nginx入门引导教程
本文为[Beginner's Guide]译文,原文地址:http://nginx.org/en/docs/beginners_guide.html Guide 本教程基础的介绍了 nginx,以及能 ...
- springboot+swagger接口文档企业实践(上)
目录 1.引言 2.swagger简介 2.1 swagger 介绍 2.2 springfox.swagger与springboot 3. 使用springboot+swagger构建接口文档 3. ...
- 【2018寒假集训Day 8】【最小生成树】Prim和Kruskal算法模板
Luogu最小生成树模板题 Prim 原理与dijkstra几乎相同,每次找最优的点,用这个点去松弛未连接的点,也就是用这个点去与未连接的点连接. #include<cstdio> #in ...
- 【2018寒假集训 Day2】【动态规划】钱币兑换(exchange)(自己翻译的2333)
钱币兑换(exchange) 问题描述: Dave偶然获得了未来几天的美元(dollars)与马克(marks)之间的兑换率.例如Dave开始有100marks,请编写个程序帮助Dave找出最好的买卖 ...
- ReactRouter中HashRouter和BrowserRouter的区别
仅个人理解,如有不当请指正 一.从原理上 HashRouter在路径中包含了#,相当于HTML的锚点定位.(# 符号的英文叫hash,所以叫HashRouter,和散列没关系哦)) 而BrowserR ...
- vue中插槽的使用场景
效果图:
- .net反编译原理
目录 目录 前言 ILdasm ILasm 结语 推荐文献 目录 NLog日志框架使用探究-1 NLog日志框架使用探究-2 科学使用Log4View2 前言 本来没有想写反编译相关的文章,但是写着写 ...
- selenium处理iframe和动作链
selenium处理iframe和动作链 iframe iframe就是一个界面里嵌套了其他界面,这个时候selenium是不能从主界面找到子界面的属性,需要先找到子界面,再去找子界面的属性 动作链( ...
- linux下创建mysql用户和数据库,并绑定
Linux下输入命令: mysql -uroot -proot123 进入mysql后输入: 查看目前有哪些数据库存在:mysql> SHOW DATABASES; 创建数据库:create s ...
- 小白学 Python 爬虫(14):urllib 基础使用(四)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...