1.请简述mybatis加载mapper的映射文件的三种方式
第一种:(包扫描)
通过资源路径的加载,利用mapper标签的resource的属性进行资源路径加载
第二种:(引用外部数据源resource)
通过加载接口类加载映射文件,需要mapper文件和接口文件在同一个包下且同名,使用mapper标签的class属性加载接口类来加载映射文件。
第三种:class应用mapper类
批量加载接口类和映射文件,用此种方法批量加载,注意(接口类和mapper名称相同),使用package标签的name的属性加载接口类来加载映射文件
2.简述mybatis中#{}和${}的作用
#{}:
1.表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换,#{}可以防止sql注入。
2.可以接受简单类型值或pojo属性值。如果parameterType传输单个简单类型值,#{}括号中可以是 value或是其他名称。
${}:
1.表示拼接sql字符串,通过${}可以将parameterType传入的内容拼接在sql中,不需要jdbc类型转换.
2.可以接受简单类型值或是pojo类型值,果parameterType传输单个简单类型值,#{}括号中只能是 value
3.Spring的几种注入bean方式:
1.属性注入(get,set方法注入)
2.构造方法注入
3.Fied注入(属性注入)
4.简述下SpringMVC的三大组件和作用
处理映射器:
用户请求路径到Controller方法的映射
处理器适配器:
根据hander(controller类)的开发方式(注解开发/其他开发)方式的不同去寻找不同的处理器适配器
视图解析器:
根据handler返回值的view地址文件(jsp/pdf...)去寻找相应的视图解析器来进行解析。
5.说出springMVC常见的注解和作用
@Controller: 只是定义一个控制类
@RequestMapping: 用来处理请求地址映射的注解 是真正处理请求
@Resource和Autowired: bean的注入时使用
@qualifier: 按照名称(byName)来装配
@PathVariable: 用于将请求URL中的模板变量映射到功能处理的参数上
@requestParam:控制层获取参数,类似一种request.getParameter("name")
@ResponseNody:用于将Controller的方法返回的对象,一般用于返回json数据。
标签:mapper,面试题,框架,映射,文件,注入,接口类,加载 From: https://blog.51cto.com/u_12277263/5809512