「5」进大厂必须掌握的面试题-Java面试-spring
spring面试问题Q1 。 什么是spring?Spring本质上是一个轻量级的集成框架 , 可用于用Java开发企业应用程序 。
Q2 。 命名Spring框架的不同模块 。 一些重要的Spring Framework模块是:
- Spring Context –用于依赖注入 。
- Spring AOP –用于面向方面的编程 。
- Spring DAO –使用DAO模式进行数据库操作
- Spring JDBC –用于JDBC和DataSource支持 。
- Spring ORM –对ORM工具的支持 , 例如Hibernate
- Spring Web Module –用于创建Web应用程序 。
- Spring MVC –用于创建Web应用程序 , Web服务等的Model-View-Controller实现 。
- @Required
- @Autowired
- @Qualifier
- @Resource
- @PostConstruct
- @PreDestroy
Spring bean中定义了五个范围 。
文章插图
- Singleton:将为每个容器创建一个bean实例 。 这是spring bean的默认范围 。 在使用此范围时 , 请确保spring bean没有共享的实例变量 , 否则可能会导致数据不一致问题 , 因为它不是线程安全的 。
- 原型:每次请求bean时都会创建一个新实例 。
- 请求:这与原型范围相同 , 但是应用于Web应用程序 。 将为每个HTTP请求创建一个新的bean实例 。
- 会话:容器将为每个HTTP会话创建一个新bean 。
- Global-session:这用于为Portlet应用程序创建全局会话Bean 。
另一方面 , ContextLoaderListener是在Spring根目录中启动和关闭WebApplicationContext的侦听器 。 它的一些重要功能包括将Application Context的生命周期与ServletContext的生命周期绑定在一起 , 并自动创建ApplicationContext 。
Q6 。 构造函数注入和setter注入之间有什么区别?没有 。构造函数注入 setter注射 1) 无局部注入 部分注射 2) 不覆盖setter属性 如果定义了构造函数 , 则重写它们 。3) 如果发生任何修改 , 则创建一个新实例 如果更改属性值 , 则不会创建新实例 4) 对于太多的属性更好 更好的一些属性 。
Q7 。 spring的自动注入模式是什么?什么是自动装配模式?自动装配使程序员能够自动注入Bean 。 我们不需要编写显式的注入逻辑 。让我们看看使用依赖注入来注入bean的代码 。
自动装配模式如下:没有 。模式 描述 1) 没有 这是默认模式 , 这意味着未启用自动装配 。2) 按名字 根据属性名称注入bean 。 它使用setter方法 。3) 按类型 根据属性类型注入bean 。 它使用setter方法 。4) 构造函数 它使用构造函数注入bean
Q8 。 如何在Spring MVC Framework中处理异常?Spring MVC Framework提供了以下方法来帮助我们实现可靠的异常处理 。
基于控制器:我们可以在控制器类中定义异常处理程序方法 。 我们所需要做的就是使用@ExceptionHandler注释对这些方法进行注释 。
全局异常处理程序:异常处理是一个跨领域的问题 , Spring提供了@ControllerAdvice批注 , 我们可以将其与任何类一起使用来定义全局异常处理程序 。
HandlerExceptionResolver实现:对于一般的异常 , 大多数时候我们提供静态页面 。 Spring Framework提供了HandlerExceptionResolver接口 , 我们可以通过该接口来创建全局异常处理程序 。 这种定义全局异常处理程序的其他方法背后的原因是 , Spring框架还提供了默认实现类 , 我们可以在我们的Spring bean配置文件中定义这些默认实现类 , 以获得Spring框架异常处理的好处 。
Q9 。 您使用了哪些重要的Spring批注?我在项目中使用的一些Spring注释是:
@Controller –用于Spring MVC项目中的控制器类 。
@RequestMapping –用于在控制器处理程序方法中配置URI映射 。 这是一个非常重要的注释 , 因此您应该阅读Spring MVC RequestMapping注释示例
@ResponseBody –用于发送对象作为响应 , 通常用于发送XML或JSON数据作为响应 。
@PathVariable –用于将动态值从URI映射到处理程序方法参数 。
- 华为鸿蒙系统|华为汽车战略布局,进入汽车行业的底气来自哪里?(车车佳)
- 酷比魔方|持续推进技术储备,网易星球区块链技术或成元宇宙入场券
- 彼尔姆|机器人公司想用 20 万美元「买断」你的脸,如果它足够友好
- 显示器|全面进化的骁龙8,演示了什么叫“无敌是多么寂寞”
- 技术|张勇内部分享,解读阿里巴巴技术路线:把先进技术用到真实的大场景里去
- 融资丨端到端通用AI智能制造平台提供商「依瞳科技」完成新一轮融资,卓源资本领投
- 华为鸿蒙系统|鸿蒙OS升级进展正式公布:不是后继无力,而是告一段落!
- 惠普|轻薄本进化有点快 这款惠普 Spectre x360值得入
- playstation5|试图“0元购”PS5失败,买家开枪把机主送进医院
- 红米手机|手机好评榜“洗牌”:红米进前三,第一名存在感逐渐走低!