常用框架2

常用框架2之SSM,SpringBoot

SSM(Spring,SpringMvc,Mybatis)

Spring是一个轻量级的容器框架,核心是IOC(面向切面)AOP(控制反转)。
因为Spring在上一篇里面已经做了详细的解释,所以就不多讲了。

——SpringMvc

SpringMvc的工作流程
①. SpringMVC将所有的请求都提交给DispatcherServlet

②. DispatcherServlet收到请求调用HandlerMapping处理映射器

③. 处理映射器找到具体的处理器,生成处理器对象返回给DispatcherServlet

④. DispatcherServlet调用HandlerAdapter处理器适配器

⑤. HandlerAdapter经过适配调用具体的处理器Controller

⑥. Controller进行业务逻辑处理后,会返回一个ModelAndView

⑦. HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet

⑧. DispatcherServlet将ModelAndView传给ViewResolver视图解析器

⑨. ViewResolver解析后返回具体的View

⑩. DispatcherServlet根据View进行渲染视图并响应用户

——springmvc怎么防止SQL注入

使用SpringMVC的拦截器实现防止SQL注入


MyBatis


像Mybatis一般都是在了解它的缓存机制
MyBatis提供了查询缓存来缓存数据,以提高查询的性能,MyBatis的缓存分为一级缓存和二级缓存。

一级缓存:SqlSession级别的缓存,基于HashMap本地缓存,当同一个sqlSession执行两次相同的SQL语句时,第一次执行完后会将数据库中查询到的结果写到缓存,第二次查询时直接从缓冲中读取不经过数据库了。一级缓存默认时开启的

二级缓存:mapper级别的缓存,也是基于hashmap本地缓存,不同的sqlSession两次执行相同的namespace下的sql语句,第二次查询就不会进行数据库了

——其实还可以在侧面了解MyBatis
比如Hibernate与mybatis区别

开发效率方面:

①. hibernate开发中,sql语句已经被封装,直接可以使用,加快系统开发(但是对于庞大复杂系统项目来说,负责语句较多,hibernate就不是一个很好的方案)

②. Mybatis属于半自动化,sql需要手工完成,稍微繁琐

SQL优化方面

①. Hibernate自动生成SQL,有些语句较为繁琐,会多消耗一些性能

②. MyBatis手动编写SQL,可以避免不需要的查询,提高系统性能

对象管理方面

①. hibernate是完整的ORM框架,开发过程中,无需过多关注底层实现,只需要管理对象即可

②. MyBatis需要自行管理映射关系


SpringBoot


SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

然后SpringBoot的优点

SpringBoot能够帮助开发者快速启动一个Web容器;

SpringBoot继承了Spring框架的原有优秀基因;

SpringBoot简化了Spring的开发过程;

SpringBoot更多的是使用了Java Config的方式,对Spring进行配置;

application.properties和application.yml文件可以放在以下四个位置(优先级由高到低):

外置,在相对于应用程序运行目录的/congfig子目录里。

外置,在应用程序运行的目录里

内置,在config包内

内置,在Classpath根目录

同样,这个列表按照优先级排序,也就是说,src/main/resources/config下application.properties覆盖src/main/resources下application.prope

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值