Spring依赖注入的几种方式

1、接口注入
2、setter方法注入
3、构造方法注入

Struts2的拦截器与过滤器的工作原理

1、Structs2拦截器是在访问某个Action或Action的某个方法、字段的之前或之后实时拦截。
过程:
当请求达到Structs2的ServletDispacher时,Structs2会查找配置文件,并根据配置文件实例化对应的拦截器,然后串成一个列表,最后按顺序调用列表中的拦截器
2、Filter依赖于servlet容器,基于函数回调,可以对几乎所有请求(静态资源、页面、Servlet)进行过滤,如CharacterEncodingFilter

Spring中的IOC和AOP

1、IOC(Invert Of Control):控制反转
IOC就是依赖注入,在spring中创建被调用者的工作不再由调用者来完成,而是由spring容器来完成,然后注入调用者
2、AOP(Aspect Oriented Program):面相切面编程
AOP目的是将复杂的需求分解出不同的方面,将公共功能集中解决的过程,比如在登陆之前、之后写入日志等

Spring事务都有哪些

1、编程式事务
将事务管理代码嵌入到业务方法中来控制事务的提交和回滚,在编程式管理事务当中,必须在每个事务操作中包含额外的事务管理代码,繁琐,不方便。
2、声明式事务
是建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需通过基于@Transactional注解的方式或者配置文件中做相关的事务规则声明,便可以将事务规则应用到业务逻辑中。

Hibernate的缓存机制

1、一级缓存:也称为“Session缓存”,使用一级缓存的目的是为了减少对数据库的访问次数,从而提升hibernate的执行效率
2、二级缓存:也称为“SessionFactory的缓存”,一般存储以下几种数据:
1)常量数据或很少被修改的数据
2)不会被并发访问或很少被并发访问的数据
3)与其他应用共享的数据

MyBatis和Hibernate有什么区别

1、Hibernate:
是一个标准化的ORM框架。入门的门槛较高,使用HQL,对SQL优化、修改比较困难。
适合需求变化不多的项目,比如ERP、OA。
2、Mybatis:
是一种半自动化的ORM实现,专注SQL本身,程序员需要自己写SQL语句,SQL的修改与优化比较方便。
适合需求变化较多的项目。

最新文章

  1. 高性能网站架构设计之缓存篇(1)- Redis的安装与使用
  2. 贴一下WC总结里提到的那道裸题吧。。。
  3. Spring初始化 Map 和 解析Json value
  4. Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)
  5. C Primer Plus(第五版)8
  6. UVa 11054 Wine trading in Gergovia【贪心】
  7. Install the OpenStack command-line
  8. swing的第一课
  9. 移动HTML 5前端性能优化指南(转载)
  10. higncharts 去掉Highcharts.com链接
  11. MySQL-教学系统数据库设计
  12. python中的编码与解码
  13. Visual Studio 2019 正式版 更新内容
  14. Java_String&StringBuilder&StringBuffer类
  15. Springboot 实现多环境配置
  16. 08_java基础知识——方法重载
  17. LeetCode算法题-String Compression(Java实现)
  18. 解决.Net Mvc跨域请求问题
  19. Hudson与Jenkins
  20. 在vue项目中 获取容器的高度

热门文章

  1. docker-网络管理-桥接网络
  2. C语言每日一练——第2题
  3. Enumeration接口和Iterator接口的区别有哪些?
  4. 你想要的 HBase 原理都在这了
  5. LINUX网络传输的序列化和反序列化C++
  6. 【CV现状-3.2】纹理与材质
  7. C# dictionary to bytes and bytes convert to dictionary
  8. 南邮CTF - Writeup
  9. Maven——向Maven本地仓库中手动添加依赖包(ps:ojdbc.jar)
  10. 关于独显A卡利用率一直是0不运行的问题