SSM框架

要明白什么是SSM开发框架?需要先弄清楚开发框架的概念。开发框架就是一套规则和写好的框架代码,它帮助我们实现了很多基础性的功能,节省了程序员大量的编码工作,让程序员可以把更多精力放到系统业务逻辑处理上。例如Spring框架可以简化Java程序对数据库的访问,使用Spring框架访问数据库即提高了数据库的访问效率和稳健性,程序员也无需编写大量访问数据库的基础代码,只需要把访问数据库的SQL语句写好就可以了。

开发框架还可以提高程序的规范性和代码的重用性。例如Spring MVC制定了一种适用于Web应用程序的设计模式,这种设计模式就是MVC。M是Model(中文名称是数据模型),一般是实体类,可以被多个视图共用;V是View(中文名称是视图),可以是JSP、ASP等动态页面;C是Controller(中文名称是控制器),用于接收视图发起的请求或返回已处理的内容到视图。程序员要使用MVC开发Web应用程序,就必须遵守MVC规定的设计模式。下图显示了Spring MVC的视图、模型、控制器交互过程。

在这里插入图片描述

上图中视图就是JSP页面,JSP页面发送请求到Controll类,也就是MVC的控制器,Controll类收到视图发出的请求后,会对请求进行分发,并调用相关的业务类对请求进行处理;POJO类(实体类,也就是MVC的数据模型)是业务类要处理的数据对象,处理的数据对象可以由控制器返回到视图。

开发框架还可以提高程序的可扩展性和可维护性。例如我们编写的Web应用程序一般都需要支持数据库的开发,在Web应用程序中编写数据库的SQL访问代码,并支持MySQL数据库。当客户提出要支持Oracle数据库时,我们就需要重新编写所有访问数据库的代码,这显然不是我们想要的结果,也可以说这个Web应用程序的可扩展性和可维护性都很差。

如果在Web应用程序中使用Mybatis数据库开发框架,就会避免这样的情况发生。只需通过工具自动生成Mybatis的数据库访问类文件和映射文件就可以了。当然在实际编程中,可能没有这么简单方便,如果自己扩展了Mybatis的映射文件和数据库访问类文件,那么扩展的这部分可能还得需要自己编写或修改SQL语句。

现在我们已经知道了什么是开发框架,也知道了使用开发框架可以减少程序员的编码工作量,并极大提高了程序的规范性、可扩展性和可维护性,也间接提高了程序的质量。下面我们再来说说什么是SSM。

SSM是三个开发框架的集成,第一个字母S是指Spring开发框架,第二个字母S是指Spring MVC开发框架,第三个字母M是指Mybatis数据库开发框架。实际上Spring MVC是Spring框架的扩展,是属于Spring框架的一部分,因此应该是两个开发框架的集成。SSM现在已经成为主流的Web应用程序开发框架,人脉项目也将使用SSM开发框架来架构系统。

SSM框架:(Spring SpringMVC MyBatis)

SpringMVC:它用于web层,相当于controller(等价于传统的servlet和struts的action),用来处理用户请求。举个例子,用户在地址栏输入http://网站域名/login,那么springmvc就会拦截到这个请求,并且调用controller层中相应的方法,(中间可能包含验证用户名和密码的业务逻辑,以及查询数据库操作,但这些都不是springmvc的职责),最终把结果返回给用户,并且返回相应的页面(当然也可以只返回json/xml等格式数据)。springmvc就是做前面和后面过程的活,与用户打交道!!

Spring:太强大了,以至于我无法用一个词或一句话来概括它。但与我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们java中的类,当然也包括service dao里面的),有了这个机制,我们就不用在每次使用这个类的时候为它初始化,很少看到关键字new。另外spring的aop,事务管理等等都是我们经常用到的。

MyBatis:如果你问我它跟鼎鼎大名的Hibernate有什么区别?我只想说,他更符合我的需求。第一,它能自由控制sql,这会让有数据库经验的人(当然不是说我啦捂脸)编写的代码能搞提升数据库访问的效率。第二,它可以使用xml的方式来组织管理我们的sql,因为一般程序出错很多情况下是sql出错,别人接手代码后能快速找到出错地方,甚至可以优化原来写的sql。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值