前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring常见面试题

Spring常见面试题

作者头像
陶然同学
发布2023-02-24 15:12:21
2390
发布2023-02-24 15:12:21
举报
文章被收录于专栏:陶然同学博客

一、简要的谈一谈Spring框架有哪些优点(至少写出三点)。

1.方便解耦,简化开发:

Spring就像是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理(代码没有入侵性)

2.AOP编程的支持:

Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能(便于功能扩展)

3.声明式事务的支持:

只需要通过配置就可以完成对事务的管理,而无需手动编程

4.方便集成各种优秀框架:

Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、MyBatis等)的直接支持

5.降低JavaEE API的使用难度:

Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低

二、IOC和DI分别是什么?

IOC:控制反转是对组件中对象控制权的转移,把传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象组件的装配和管理。

DI:Spring通过IOC的技术促进了松耦合。当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象,容器在对象初始化时就会主动将依赖传递给它。

三、@Component 和 @Bean 的区别是什么?

作用对象不同: @Component 注解作用于类,@Bean注解作用于方法。

@Component通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。

@Bean 注解通常是我们在标有该注解的方法中定义产生这个bean,@Bean告诉了Spring这是某个类的实例。

@Bean 注解比 Component 注解的自定义性更强。

四、将一个类声明为IoC管理的bean的注解有哪些?

@Component :通用的注解,可标注任意类为 Spring 组件。

@Repository: 对应持久层即 Dao 层,主要用于数据库相关操作。

@Service : 对应服务层,主要涉及一些复杂的逻辑。

@Controller : 对应控制层,主要用于接受请求并调用Service层返回数据。

五、SpringMVC常用的注解有哪些(至少写出三点)?

1.@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。

2.@RequestBody:注解实现接收请求中的json数据,将json转换为java对象。

3.@ResponseBody:注解实现将conreoller方法返回的java对象转化为json对象进行响应。

  • SpringMVC的流程

浏览器、DispatcherServlet前端控制器、HandlerMapping处理器映射器、HandlderAdapter处理器适配器、Handler处理器(Controller)、ViewResolver视图解析器、View

  1. HTTP请求
  2. 请求查找Handler
  3. 返回一个执行链
  4. 请求适配器
  5. 执行Handler
  6. 返回ModelAndView
  7. 返回ModelAndView
  8. 请求到视图解析器
  9. 返回View
  10. 视图渲染
  11. HTTP响应
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、简要的谈一谈Spring框架有哪些优点(至少写出三点)。
  • 二、IOC和DI分别是什么?
  • 三、@Component 和 @Bean 的区别是什么?
  • 四、将一个类声明为IoC管理的bean的注解有哪些?
  • 五、SpringMVC常用的注解有哪些(至少写出三点)?
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档