当前位置: 首页 > 后端技术 > Java

京东Java二面:Spring相关问题被折磨哭到看到这些知识点

时间:2023-04-01 18:19:17 Java

面试的时候经常被问到这样的问题:Spring中bean的循环依赖如何解决?Spring中的bean加载过程?spring相关的问题一直是面试大厂时经常被问到的问题,也一直困扰着我们。我们不知道从哪里开始。今天,我们就结合实例分析一些大厂的spring相关面试真题。并分享我在学习spring相关问题中整理的一些知识点。spring相关问题大厂面试题(含解析):1.谈谈你对springIOC和DI的理解,它们有什么区别?IoC:InverseofCotrol控制反转的概念是将程序中手工创建的UserService对象的控制权转移给Spring框架进行管理。简单的说,就是创建UserService对象的控制权被逆向给了Spring框架的DI:DependencyInjecionDependencyInjection,此时Spring框架负责创建Ben对象,动态注入依赖对象到Bean组件中IoC和DI有什么区别?IoC是inversionofcontrol,指的是将对象的创建权倒转给Spring容器。DI依赖注入是指在Spring创建对象的过程中,通过配置注入对象的依赖属性。2、BeanFactory接口和ApplicationContext接口有什么区别?-①ApplicationContext接口继承BeanFactoryy接口,Sring核心工厂是BeanFactory,BeanFactory采用延迟加载,只有在第一次获取Ben时才会初始化Ben此时,AplicationContextBean将在加载配置文件时被初始化。②Applicativcontext是BeanFactory的扩展,可以进行国际化处理、事件传递、bean自动组装,以及Context在不同应用层的各种实现。ApplicationContext基本用在开发和web项目中WebApplicationContext,BenFactoy3.spring配置bean实例化的方式有哪些?1)使用类构造函数实例化(默认无参数)2)使用静态工厂方法实例化(简单工厂模式)3)使用实例工厂方法实例化(工厂方法模式)4、什么是AOP,作用是什么面向对象?Aspect-OrientedProgramming(AOP)提供了另一种思考程序结构的角度,从而弥补了Object-OrientedProgramming(OOP)的不足。除了类(classes)之外,AOP还提供了切面。方面将关注点模块化,例如横切多个类型和对象的事务管理。Spring的一个关键组件是AOP框架。可以自由选择是否使用AOP提供声明式企业服务,尤其是取代EJBdeclarativeServe。最重要的服务是声明式事务管理,它建立在Spring的抽象事务管理之上。允许用户实现自定义方面,并使用AOP来改进OOP的使用。SpringAOP可以看作是对Spring的增强。5、Spring有哪些核心类,它们的作用是什么?BeanFactory:生成新的实例,可以实现单例模式BeanWrapper:提供统一的get和set方法applicationContext:提供framework的实现,包括BeanFactory的所有功能6.Spring里面如何配置数据库驱动?使用“org.springframework.jdbc.datasource”配置数据库驱动程序。例子如下:org。hsqldb。jdbcDrivrjdbc:hsqldb:db/appfuseabcabc7。简单说一下spring的生命周期?8、请介绍一下Spring框架中Bean的生命周期和作用域。9、Bean注入属性有哪几种方式?10、Spring中的applicationContext.xml文件可以改成别的文件名吗?11.如何在Spring中定义hibernate映射?12、Spring是如何处理线程并发问题的?13.为什么我们需要传播东西?14.介绍Spring的事务管理15.讲解SpringAOP中的几个名词16.通知有哪些类型?只是一部分spring相关的面试真题,部分分析需求可以私信我【面试】获取。我整理的spring学习笔记:不能像spring一样盲目学习知识点。总结了一套spring学习思维导图,今天通过spring学习路线.xmind整理分析spring需要掌握的一些核心知识点。需要整个spring学习地图和核心知识点的朋友可以【点此获取】(https://docs.qq.com/doc/DY0Fr...)。spring的特性:轻量级反转控制面向切面容器框架集合Spring的核心组件、常用模块、主要包和spring常用注解:常用模块:核心容器spring上下文springAOPspringDAOspringORMspringweb模块springmvc框架springIOC原理:概念:Spring使用一个配置文件描述bean和bean之间的依赖关系,利用Java语言的反射功能来实例化bean,建立bean之间的依赖关系。Spring的IoC容器在完成这些底层任务的基础上,还提供了Bean实例缓存、生命周期管理、Bean实例代理、事件发布、资源加载等高级服务。Spring容器高层视图OC容器实现SpringBeanScope:singleton:单例模式(多线程下不安全)prototype:prototype模式每次使用都会创建Request:每个请求一个实例sessionglobalSessionSpringAPO原理SpringMVC原理Spring引导原理JPA原理Mybatis缓存Tomcat架构最后:除了上面spring思维的核心知识点,还分享了更多精选的学习资料,包括(Dubbo、Redis、Netty、zookeeper、Springcloud、分布式、高并发等架构资料和完整的Java架构学习进阶图!)如何免费获取资料:【点此获取】(https://docs.qq.com/doc/DY0Fr...)