面试题

  • 介绍一下Spring中的主要功能

  • Spring有哪些优点?

    • 轻量级:Spring在大小和透明性方面绝对属于轻量级的,基础版本的Spring框架大约只有2MB。
    • 控制反转(IOC):Spring使用控制反转技术实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。
    • 面向切面编程(AOP): Spring支持面向切面编程,同时把应用的业务逻辑与系统的服务分离开来。
    • 容器:Spring包含并管理应用程序对象的配置及生命周期。
    • MVC框架:Spring的web框架是一个设计优良的[web MVC框架],很好的取代了一些web框架。
    • 事务管理:Spring对下至本地业务上至全局业务(JAT)提供了统一的事务管理接口。
    • 异常处理:Spring提供一个方便的API将特定技术的异常(由JDBC, Hibernate, 或JDO抛出)转化为一致的、Unchecked异常。
  • Spring注入集合的几种方式

    • <list> 类型用于注入一列值,允许有相同的值。
    • <set> 类型用于注入一组值,不允许有相同的值。
    • <map> 类型用于注入一组键值对,键和值都可以为任意类型。
    • <props> 类型用于注入一组键值对,键和值都只能为String类型。
  • Spring注入Bean的方式

    • 设值注入(set方法)
    • 构造器注入
    • 工厂方法
  • bean的自动装配

  • 自动装配的几种方式

    • no:默认的方式是不进行自动装配,通过显式设置ref 属性来进行装配。
    • byName:通过参数名 自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byname,之后容器试图匹配、装配和该bean的属性具有相同名字的bean。
    • byType::通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。如果有多个bean符合条件,则抛出错误。
    • constructor:这个方式类似于byType, 但是要提供给构造器参数,如果没有确定的带参数的构造器参数类型,将会抛出异常。
    • autodetect:首先尝试使用constructor来自动装配,如果无法工作,则使用byType方式。
  • 开启注解装配
    <context:annotation-config/>

  • 开启自动扫描

  • 注解

SpringMvc

  • SpringMvc和Struts2的区别
  • 控制器的注解
  • 控制器中如何返回JSON
  • 控制器是不是单例的
  • @RequestMapping注解的作用
  • 配置请求方式GET、POST
    • @RequestMapping注解里面加上method=RequestMethod.GET
  • 如何接受集合参数
  • 配置视图解析器
  • 配置文件上传

MyBatis

  • #{}和${}的区别是什么?
  • xml除了insert和select、update之外,还有哪些标签
  • mybatis分页和分页插件的原理
  • 插入数据时返回主键
  • 动态sql
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容