当前位置: 首页 > wzjs >正文

河南企业网站优化四川省建设厅注册管理中心网站首页

河南企业网站优化,四川省建设厅注册管理中心网站首页,花钱想贷款结果成了做网站,网站域名购买com1、介绍下什么是Spring框架的IOC和DI IOC 控制反转,指将对象的创建权,反转到Spring容器; DI 依赖注入,指Spring创建对象的过程中,将对象依赖属性通过配置进行注入,不能单独存在,需要在IOC的基础上完成操作…

1、介绍下什么是Spring框架的IOC和DI

IOC 控制反转,指将对象的创建权,反转到Spring容器;

DI 依赖注入,指Spring创建对象的过程中,将对象依赖属性通过配置进行注入,不能单独存在,需要在IOC的基础上完成操作,通过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦。

2、Spring里面 bean的scope作用域有哪些

singleton:单例, 默认值,调用getBean方法返回是同一个对象,实例会被缓存起来,效率比较高,当一个bean被标识为singleton时候,spring的IOC容器中只会存在一个该bean。

prototype: 多例,调用getBean方法创建不同的对象,会频繁的创建和销毁对象造成很大的开销。

request :每个Http请求都会创建一个新的bean。

session: 每个Http Session请求都会创建一个新的bean。

3、什么是AOP以及好处

AOP 面向切面编程, 在不改变原有逻辑上增加额外的功能。

AOP思想把功能分两个部分:核心关注点(业务的主要功能)和横切关注点(非核心、额外增加的功能)。

比如以用户下单为例子:核心关注点是创建订单,横切关注点:记录日志、控制事务。

AOP 面向切面编程的好处:解耦;减少代码重复,可以统一处理横切逻辑。

4、解释下AOP里面常见的概念,比如 横切、通知、连接点、切入点、切面 、目标、织入

横切关注点:对哪些方法进行拦截,拦截后怎么处理,比如 权限认证、日志、事物;

通知:在特定的切入点上执行的增强处理,有5种通知(什么时间点、做什么事情);

连接点:要用通知的地方,全部方法都可以是连接点;

切入点:不能全部方法都是连接点,通过通配、正则表达式过滤出特定的一组 JointPoint连接点来进行通知;

切面:通常是一个类,里面定义 切入点(定义在什么地方)+通知(什么时间点、做什么事情);

目标:目标类,真正的业务逻辑,可以在目标类不知情的条件下,增加新的功能到目标类的链路上;

织入:把切面应用到目标函数的过程称为织入。

5、说下JDBC连接数据库的步骤

(1)加载数据库驱动

(2)获取数据连接对象

(3)获取语句对象,会话对象有两种Statement和PreparedStatement执行语句,     PreparedStatement在执行之前会进行预编译,能够有效防止SQL注入;PreparedStatement支   持?占位符而不是直接拼接

(4)处理结果集

(5)关闭连接资源,关闭顺序:rs.close()、st.close()、conn.close() 

6、说下Mybatis加载的流程

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心,SqlSessionFactory 的实例是通过 SqlSessionFactoryBuilder 从 XML 配置文件来构建出来的,SqlSessionFactory可以创建 SqlSession,SqlSession提供了执行 SQL 的方法,接着Executor负责执行SQL 语句。

7、#{ } 和 ${}的区别是什么

#{ }是预编译处理,${}是字符串替换;

mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;

mybatis在处理${}时,会把${}替换成变量的值。

使用#{}可以有效的防止SQL注入。

8、介绍下Mybatis一级缓存跟Mybatis二级缓存

(1)、一级缓存的作用域是SqlSession,同一个SqlSession中执行相同的SQL查询(相同的SQL和参数),第一次会去查询数据库并写在缓存中,第二次会直接从缓存中取,默认开启一级缓存

失效策略:当执行SQL时候两次查询中间发生了增删改的操作,即insert、update、delete等操作commit后会清空该SQLSession缓存; 比如sqlsession关闭,或者清空等。

(2)、二级缓存是namespace级别的,多个SqlSession去操作同一个namespace下的Mapper的sql语句,多个SqlSession可以共用二级缓存;默认是没有开启二级缓存,为了使用二级缓存,需要手动配置并在对应的 Mapper XML 文件中启用它。

操作流程:第一次调用某个namespace下的SQL去查询信息,查询到的信息会存放该mapper对应的二级缓存区域。第二次调用同个namespace下的mapper映射文件中,相同的sql去查询信息,会去对应的二级缓存内取结果。

失效策略:执行同个namespace下的mapepr映射文件中增删改sql,并执行了commit操作,会清空该二级缓存。

注意:

实现二级缓存的时候,MyBatis建议返回的POJO是可序列化的, 也就是建议实现Serializable接口。

若一级缓存和二级缓存同时启用,优先查询二级缓存->查询一级缓存->数据库。

http://www.dtcms.com/wzjs/548799.html

相关文章:

  • 模板网站搭建游戏开发代码
  • 新手怎么学习网站建设做网站1008做网站 - 百度
  • 织梦网站搬迁网站开发架设
  • 沈阳网站制作机构上海vi设计公司有哪些
  • 有没有专门做平铺素材的网站长沙h5手机网站制作
  • 宁波cms模板建站做网站 橙色怎么搭配
  • 重庆建站费用上海网站设计培训班
  • 国外哪些做问卷赚钱的网站建设项目所在地公共媒体网站
  • 公司网站应达到的功能关键词的选取原则有
  • html 网站首页陕西省建设监理协会网站
  • 中小网站建设都有哪些方案天元建设集团有限公司是国企还是央企
  • 济南想做网站如何自己搭建一个物联网平台
  • 太原网站建设推广服务广州越秀区风险等级
  • 江门网站制作推广广告公司取名字大全免费查询
  • 博物建设公司网站江门网站排名优化
  • 成都建站费用做网站多少
  • 房产网站设计公司wordpress指定ip登陆
  • 网站建设主页济南建站
  • 实力网站建设电话网站建设丨找王科杰效果好
  • 电商网站建设前的市场分析内容如何代做网站
  • 网站空间要多大长沙影楼网站建设
  • 烟台网站推广ppt模板免费下载百度云
  • 网站外链应该怎么做网站开发员的工资
  • 厦门网站建设系统网站建设 概念
  • 网站设计报告总结找公司做网站有什么好处
  • 特级a做爰网站网站建设高手要学多久
  • 晚上网站推广软件免费版seo推广教学
  • 北京网站建设公司公司网站建设合同首付多少钱
  • 贵阳设计网站公司注册网上查名
  • asp.net做三个网站wap712c