Spring面试总结.docx
《Spring面试总结.docx》由会员分享,可在线阅读,更多相关《Spring面试总结.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Spring面试总结说一下对Spring的理解? Spring是一个生态体系,它下面包含了很多子项目,如:Spring Framework、Spring Boot、 Spring Cloud、Spring Data. Spring Security 等等;Why Spring Learn Projects Training Support Community 丫 。Spring Cloud Data FlowSpring FrameworkqqOVERVIEW LEARNSpring SecuritySpring SessionThe Spring Framework provides a c
2、omprehensive programming and configuration model for modem Javabased enterpnse applications on any kind of deployment platform.A key element of Spring Is infrastructural support at the application level: Spring focuses on theSpring IntegrationSpring IntegrationSpring HATEOAS,plumbing of enterpnse ap
3、plications so that teams can focus on application-level business logic, without unnecessary ues to specific deployment environments.Spring REST DocsSpring BatchSupport Policy and MigrationFor information about minimum requirements, guidance on upgrading from earlier versions and support policies, pl
4、ease check out the official Spring Framework wiki page Spring是一个轻量级开发框架,旨在提高开发人员的开发效率已经系统的可维护性;我们一般说的Spring框架指的是Spring Framework ,它是很多模块的集合,使用这些模块可以 很方便地协助我们进行开发; 核心容器中的Core组件是Spring所有组件的核心; Beans组件和Context组件是IOC和依赖注入的基础; AOP组件用来实现面向切面编程; Spring ( Spring Framework )介绍 Spring Framework是整个Spring生态的基石,
5、它有两个很重要的设计核心,IOC (控制反转) 和AOP (面向切面变成),是Spring所依赖的根本。特性最核心的两个特性是提供了 IOC容器管理我们的对象和提供了 AOP面向切面编程减少重复 编码。还提供了数据存储、web模块开发、资源管理、数据校验和绑定、国际化等功能。优点解耦代码,简化开发;提供IOC容器,将对象之间的依赖关系交由Spring管理,避免硬编码早餐过度的程序耦合。 AOP编程的支持;方便进行面向切面编程。 声明式事务的支持;可以避免编程式事务硬编码的缺点,通过声明的方式灵活地进行事务的管理,提高开发效率和 质量。Transacrionalpuclic void updat
6、eCrder(Order order); try (/ update order catch throw nev Excep二ion (更; ) 数据库引擎不支持事务例如:MySQL , MylSAM引擎不支持事务;没有被Spring管理 Service注解被注释掉,这个类就不会被加载成一个Bean ,那这个类就不会被Spring 管理了,事务自然就失效了;/ Service public class OrderServicelmpl implements OrderService STransacrional public void updateCrder(Order order) / up
7、date order )方法不是Public的 Transactional只能用于public的方法上,否则事务不会生效;不支持事务 Propagation.NONSUPPORTED :表示不以事务运行,当前若存在事务则挂起;数据源没有配置事务管理器数据源没有配置事务管理器,白搭; Bean public PlatformTransae*icnManager transacticn2 再设置对象属性 setter 方式原型,prototype对于prototype作用域Bean而言,Spring容器无法完成依赖注入,因为prototype 作用域的Bean , Spring容器不进行缓存,因此
8、无法提前暴露一个创建中的Bean ; Spring的循环依赖的理论依据是基于Java的引用传递,当获得对象的引用时,对象的属性是可以 延后设置的; Spring的单例对象的初始化主要分为三步 1. createBeanlnstance 实彳列化实例化,调用对象的构造方法实例化对象; 2. populateBean 填充属性填充属性,主要是多bean的依赖属性进行填充; 3. InitializeBean 初始化调用init方法初始化;使用Spring的三级缓存解决循环依赖在创建bean的时候,首先是从一级缓存(singletonObjects )中获取这个单例的bean ; 如果获取不到,并且
9、对象正在创建中,就再从二级缓存(earlySingletonObjects )中获取;如果还是获取不到且允许singletonFactories通过getObject。获取,就从三级缓存 singletonFactory.getObjectQ ;如果获取到了则从singletonFactories中移除,并放入earlySingletonObjects中。其实也就 是从三级缓存移动到了二级缓存; SpringBoot自动装配原理?什么是SpringBoot自动装配? SpringBoot定义了一套接口规范,规定在SpringBoot启动时会扫描外部弓|用jar包中的 META-INF/spri
10、ng.factories文件,将文件中配置的类型信息加载到Spring容器(涉及JVM 类加载机制与Spring的IOC容器),并执行类中定义的各种操作;对于外部jar来说,只需要按照SpringBoot定义的标准,就能将自己的功能装置进 SpringBoot; SpringBoot如何实现自动装配的?如何实现按需加载? Spring Boot 核心注解 SpringBootApplication 主要包括 SpringBootConfigurations EnableAutoConfigurations ComponentScan,主解;EnableAutoConfiguration :启用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Spring 面试 总结
限制150内