联系,区别:1.Srping是一个一站式的轻量级的JAVA开发框架,核心是控制反转(IoC)和面向切面(AOP),然对于开发的web层(SrpingMVC),业务层(IoC),持久层(jdbcTemple)等提提供了多种配置解决方案。2.SpringMVC是Spring基础之上的一个MVC框架,主要处理WEB开发的路径映射和视图渲染,属于Spring框架web层开发的一部分,涵盖面包括前端视图开发,文件配置,后台接口逻辑开发,SpringBoot专注于开发微服务后台接口,不开发前端视图,一定程度 上取消XML配置,能快速开发单个微服务,SpringCloud大部分的功能插件都是基于SpringBoot去实现的,SpringCloud关注全局的微服务和管理多个SpringBoot单体微服务进行整合及管理,
联系:区别:1.Hibernate是全自动的,而MyBatis是半自动的,Hibernate完全可以通过对象关系模型实现,对数据库的操作拥有完整的JavaBean对象和数据库的映射结构来自动生成SQL,而MyBatis仅有基本的字段映射,对象数据以及对象实际关系依然需要通过手写SQL来实现和管理。
什么是SSM框架
什么是框架,框架就是一些类和接口的集合,通过调用这些类和接口来完成一系列功能的实现。
什么是SSM面上存在的框架有很多种 ,我们在这里讲的SSM就是这些框架中的3个,目前这3个框架是目前市面上最热门,搭配使用率最高的框架,
MyBatis简介
MyBatis主要是通过SqlSessionFactory产生sqlSession对象,进而通过sqlSessiion对象访问数据库,而spring整合MyBatis的本质就是把MyBatis的sqlSessionFactory对象交给spring管理。
MyBatis是一款优秀的持久层框架,它支持定制化SQL,存储过程及高级映射,MyBatis避免了几乎所有的JDBC代码和手动设置参数及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息。将接口和JAVA的POJO(Plain Ordinary Java Object简单Java对象)映射成数据库中的记录。
认识SpringMVC
SpringMVC是一款优秀视图层框架 ,用于对后台Java程序和前台JSP页面进行连接(功能类似Servlet,SpringMVC低层就是Servlet)
SpringMVC具有以下特点:
- SpringMVC拥有强大的灵活性,非入侵性和可配置性,
- SpringMVC提供了一个前端控制器DispatcherServlet.开发者无须额外开发控制器,
- SpringMVC分工明确,包含控制器,验证器,命令对象,模型对象,处理程序映射视图解析器等,每个功能实现由一个专门的对象负责完成。
- SpringMVC可以自动绑定用户输入,并正确地转换数据类型。例如SpringMVC能自动解析字符串,并将其设置为模型的int或float类型的属性,
- SpringMVC使用一个名称/值的MAP对象实现更加灵活的模型数据传输。
- SpringMVC内置了常 见的校验器,可以校验用户输入,如果校验不通过,则重定向回输入表单,输入校验是可选的,并且支持编程 方式和声明
方式。 - SpringMVC支持国际化,支持根据用户区域显示多国语言,并且国际化的 配置非常简单。
- SpringMVC支持多种视图技术,最常见的有JSP技术及其他技术,包括Velocity和FreeMarker.
- Spring提供了一个简单而强大的JSP标签库,支持数据绑定功能 ,使得编写JSP页面更 加容易。
Spring概述
Spring是一个开源框架 ,该框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪个组件,同时为J2EE应用程序开发提供集成的框架,Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情,然而,Spring的应用不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度来看,任何Java应用都可以从Spring中收益,Spring的核心是控制反 转IoC 和面向切面AOP.
简单来说具有如下特点:
- 方便解耦,简化开发。通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合,有了Spring,用户不必再为单实例模式类,属性文件解析等底层的需求编写代码。可以更专注于上层的应用。
- AOP编程的支持。通过Spring提供的AOP功能,可以方便地进行面向切面的编程 ,许多不容易
用传统OOP实现的功能可以通过AOP轻松应付。 - 声明式事务的支持。在Spring中,我们可以从单调烦闷 的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。
- 方便程序的测试,可以用非容器依赖的编程方式进行几乎所有的测试工作。在Spring里,测试不再是昂贵的操作,而是随手可做的事情,例如:Spring提供了对JUnit4的支持,可以通过注解方便地测试Spring程序。
- 方便集成各种优秀框架 ,Spring不排斥各种优秀 的开源框架,相反,它可以 降低各种框架的使用难度,提供了对种优 秀框架 (Struts,Hibernate,Hession二进制的 络协议,Quartz定时任务框架Quartz)支持.Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
- 降低JavaEE API的使用难度,Spring对很多难用的JAVA EE API(如JDBC,JavaMail,远程调用等)提供了一个博博的封装层,通过Spring的简易封装,这些Java EE API 使用难度大为降低。
- 如果你想在短时间内迅速提高自已的Java技术水平和应用开发水平,那么学习和研究Sping源码将会是不错的选择。
- 原则上Spring不会区分每一层的类上用的注解是否正规,意思就是,如果在实体 类上使用@Respository或@Service 也是可以的,程序不会 错,只是在编程人员眼中不是很正规。
- 在使用了@Autowired注解以后,我们 就不需要自已去创建对像了,这项工作交给Spring来帮我们完成,例如,如果我们想在Service层调用DAO里面的方法,则不需要写new那句代码了,直接用注解的方式来完成,在下面的项目中会有具体实例。
为什么使用框架
我们在Servlet里面接收前台传过来的值需要写很多的request.getParameter()方法,而且在给实体类进行赋值的时候也需要定很多个set***()方法。现在我们应用了框架 ,这些重复且枯燥的操作完全不用我们自已去完成了,只需要应用相应框架里面封装好的方法就可以直接完成了,在使用了这三大框架 以后,对于每个普通的增删改查的方法,一个方法代码,基本上不会超过5行,有些甚至只需一行代码就可以实现我们想要的功能。
MyBais中KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 2: 和#?: 1.#{}是预编译处理,M…{}是字符串替换,MyBatis在处理 时 会 把 将 s q l 中 的 {}时会把将sql中的 时会把将sql中的{}替换为变量的值,传入的数据不会加两边加上单引 ,注意:使用${}会导致sql注入,不利于系统的安全性。
说明:jsp里调用控制层,控制层里处理过逻辑后,是通过ModelAndView(带参构 造)或mav.setViewName(“xx.jsp”)进行处理后的页面跳转。
如何使用SSM框架
- 搭建SSM框架
第一步:准备好三大框架所需要的.jar包,24个。还一个连接MySQL数据库的包,共25个.jar包。
第二步:在IDE中创建一个WEB Project,并把上面25个jar包粘贴到lib文件夹中。
第三步:在src文件夹中创建Spring框架的一个配置文件,并命名为application.xml
第四步:在application.xml配置文件第二 行,也就是在
第五步:开始配置Spring配置文件里面的内容,无先后顺序,这里先配置C3P0连接数据库。在src根目录下创建一个连接数据库的配置文件,名为db.properties.或conf.xml(里面注册Mapper.xml文件,如果不用映射文件而是通过注解来实现,就要定义映射的接口,并在conf.xml里和注册映射文件一样的位置注册此映射接口)
第六步 下面就继续回到Spring配置文件中开始配置C3P0,我们在头标 签和结束标签的中间来配置相关信息。
注意:所有带${}符 里面的内容是你在dp.properties文件中起的名字。
第七步:配置SqlSessionFactory,用于装载MyBatis框架 ,持久层的方法可以通过映射直接找到相应的Mapper文件里的SQL语句,具体配置如下:
bean id="sqlSessionFactory" calss="org.mybatis.spring.SqlSessionFactoryBean"> property name="dataSource" ref="dataSource"/> property name="mapperLocations声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!