ssm框架:是指Spring+SpringMVC+MyBatis的整合,SpringMVC是Spring中的部分内容。常作为数据源较简单的web项目的框架。
ssm框架技术介绍:
Spring框架:是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
SpringMVC:属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。SpringMVC在项目中拦截用户请求,它的核心Servlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。(可提前了解MVC框架)
MyBatis: 本是apache的一个开源项目iBatis, MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和DAO,MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs对象映射成数据库中的记录。mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
上文相关扩展知识介绍:
控制反转(IoC):是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。
面向切面(AOP):全称Aspect Oriented Programming。通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。主要分离日志记录,性能统计,安全控制,事务处理,异常处理等行为,从逻辑代码中剥离出来,放到其他部分,这样不会影响到业务逻辑。
DAO模式:Data Access Objects,是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来(即数据库操作定义为接口封装起来)。
POJOs对象:Plain OrdinaryJava Objects,简单的Java对象,具有一部分getter/setter方法,实际就是普通JavaBeans,是为了避免和EJB(Enterprise Java Beans技术的简称, 又被称为企业Java Beans)混淆所创造的简称。
Java Beans :是可复用的组件,对 Java Bean 并没有严格的规范,理论上讲,任何一个 Java 类都可以是一个 Bean。但通常情况下,由于 Java Bean 是被容器所创建(如 Tomcat) 的,所以 Java Bean 应具有一个无参的构造器,另外,通常 Java Bean 还要实现 Serializable 接口用于实现 Bean 的持久性。 Java Bean 是不能被跨进程访问的。
Tomcat:Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。
MVC模式:Model-View-Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:控制器(Controller)- 负责转发请求,对请求进行处理;视图(View) - 界面设计人员进行图形界面设计;模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
Struts:是Apache软件基金会(ASF)赞助的一个开源项目。它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。Taglib是Struts的标记库,灵活多用,能大大提高开发效率。
JSP技术:JavaServer Pages,一种动态网页技术标准,JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。即JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
Servlet:是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。(Servlet 包: javax.servlet 和 javax.servlet.http ,即建立WEB项目是需要导入架包)