JAVA面试题(25)

    本文首发于cartoon的博客
    转载请注明出处:cartoonyu.github.io/cartoon-blo…java

  • Spring 自动装配 Bean 有哪些方式?
    • no:不使用自动装配
    • byName:经过属性名称name自动装配
    • byType:经过属性类型装配
    • constructor:与byType相似,但会使用构造参数
    • autodetect:首先使用constructor,无效后使用byType
    • 本人偏向使用java自带注释@Resource,在重构代码会比较方便
  • Spring 事务实现方式有哪些?
    • 编程式事务管理。经过手动控制事务的开启与关闭实现。
    • 使用AOP配置事务
    • 基于TransactionProxyFactoryBean的声明式事务管理
    • 基于 @Transactional的声明式事务管理(推荐)
  • 说一下 Spring 的事务隔离?
    • 事务是一系列操做,结果只有两种
      • 操做完成
      • 操做异常,回滚形成所有操做被撤销
    • 特性
      • 原子性。系统将事务做为一个总体。
      • 一致性。事务执行以前与执行以后系统的状态是不变的。
      • 隔离性。各事务所使用数据都是肯定的值。
      • 持久性。事务操做结果被系统保存下来。
    • 隔离级别
      • read uncommited:读取事务未提交数据
      • read commited:只能读取已提交数据
      • repeatable read:容许读取同一条记录
      • serializable:事务操做被顺序执行
  • 说一下 Spring MVC 运行流程?
    • 网络请求首先到达DispatcherServlet,由DispatcherServlet分发到Controller
    • 在分发到Controller前,可能存在Filter过滤
    • Controller根据url响应分发请求,并调用Service处理请求
    • Service进行业务逻辑处理,并在须要数据库操做时调用Dao进行操做
    • Service获得Dao返回结果,进行处理后返回到Controller
    • Controller将Service返回结果进行处理,并将结果包装成视图返回到DispatcherServlet
    • DispatcherServlet将视图传递到视图渲染器渲染
    • 视图渲染器渲染视图,返回页面到前台
相关文章
相关标签/搜索