7、SpringMVC相关面试问题

文章目录

1、springmvc中的注解

  • @Controller:
    告诉springmvc的dispatchServlet,这是一个controller,然后被前端控制器的上下文所管理,并且完成它的依赖注入
  • @Service:
    常用于标注业务层组件
  • @Autowired:
    对类成员变量、方法及构造函数进行标注,完成自动装配的工作
    • @Autowired默认按类型匹配注入Bean,如果希望Spring即使找不到匹配的Bean完成注入也不抛出异常,那么可以使用required属性,使用@Autowired(required=false)进行标注
  • @RequestMapping: 请求路径
  • @RequestParam、@PathVariable:
    两者的作用都是将request中的参数值绑定到controller里的方法参数里边,区别在于url不同
    • @PathVariable的url是这样的:http://host:port/…/path/参数值
    • @RequestParam的url是这样的:http://host:port/…/path?参数名=参数值
  • @Resource:
    @resource注解就是把一个bean注入到当前的类中,可以不必通过配置文件或者导包的方式注入
    就可以使用该bean, 默认是ByName的方式注入
  • @ResponseBody:
    用于将controller方法返回的对象,将结果以JSON数据格式响应
  • @Component:
    泛指组件,当组件不好归类的时候,可以使用这个注解进行标注 (把普通pojo实例化到spring容器中,相当于配置文件中的)
  • @Scope:用来指定配置 spring bean 的作用域
  • @Qualifier:
    @Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualifier一起使用
  • Repository:
    它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可
    • 为了让 Spring能够扫描类路径中的类并识别出 @Repository 注解,需要在 XML 配置文件中启用Bean
      的自动扫描功能,这也可以通过context:component-scan/实现。

2、原生JDBC的执行流程

  1. 加载驱动
    Class.forName
  2. 获取连接
    DriverManager.getConnection
  3. 创建statement对象
    createStatement
  4. 执行sql语句
  5. 处理结果集
  6. 关闭资源

3、前端控制器的执行流程

在这里插入图片描述

  1. 客户端发送请求到前端控制器DispatcherServlet
  2. DispatcherServlet前端控制器收到请求去调用(HandlerMapping)处理器映射器
  3. HandlerMapping处理器映射器找到具体的处理器(可以根据xml配置,注解进行查找),生成处理器对象及处理器拦截器一并返回给前端控制器
  4. 前端控制器DispatcherServlet调用HandlerAdapter处理器适配器,HandlerAdapter经过适配调用具体的处理器(Controller)
  5. Controller控制器执行完成后返回ModelAndView,处理器适配器将controller执行结果ModelAndView返回给前端控制器
  6. 前端控制器将ModelAndView传给ViewReslover视图解析器
  7. ViewReslover解析之后返回具体view
  8. 前端控制器根据view进行渲染视图,并返回给客户端

4、简述Restful架构,列举最常用的Rest支持的HTTP请求方法

restFul是符合rest架构风格的网络API接口,完全承认Http是用于标识资源。restFul URL是面向资源的,可以唯一标识和定位资源。 对于该URL标识的资源做何种操作是由Http方法决定的。 rest请求方法有4种,包括get,post,put,delete.分别对应获取资源,添加资源,更新资源及删除资源.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值