在java面试中肯定会考框架面试题,而spring框架作为目前主流的 Java EE 轻量级开源框架必考,因此为了提高大家在java中面试概率,今天我们给大家分享一些spring框架必问面试题!
1.什么是Spring框架?
Spring是一种轻量级框架,旨在提高开发人员的开发效率以及系统的可维护性。
我们一般说的Spring框架就是Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、消息和测试模块。比如Core Container中的Core组件是Spring所有组件的核心,Beans组件和Context组件是实现IOC和DI的基础,AOP组件用来实现面向切面编程。
2.Spring中的bean的作用域有哪些?
(1)singleton:唯一bean实例,Spring中的bean默认都是单例的。
(2)prototype:每次请求都会创建一个新的bean实例。
(3)request:每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request内有效。
(4)session:每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP session内有效。
(5)global-session:全局session作用域,仅仅在基于Portlet的Web应用中才有意义,Spring5中已经没有了。Portlet是能够生成语义代码(例如HTML)片段的小型Java Web插件。它们基于Portlet容器,可以像Servlet一样处理HTTP请求。但是与Servlet不同,每个Portlet都有不同的会话。
3.Spring框架中用到了哪些设计模式?
(1)工厂设计模式:Spring使用工厂模式通过BeanFactory和ApplicationContext创建bean对象。
(2)代理设计模式:Spring AOP功能的实现。
(3)单例设计模式:Spring中的bean默认都是单例的。
(4)模板方法模式:Spring中的jdbcTemplate、hibernateTemplate等以Template结尾的对数据库操作的类,它们就使用到了模板模式。
(5)包装器设计模式:我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。这种模式让我们可以根据客户的需求能够动态切换不同的数据源。
(6)观察者模式:Spring事件驱动模型就是观察者模式很经典的一个应用。
(7)适配器模式:Spring AOP的增强或通知(Advice)使用到了适配器模式、Spring MVC中也是用到了适配器模式适配Controller。
4.pring 的优点?
(1)spring属于低侵入式设计,代码的污染极低;
(2)spring的DI机制将对象之间的依赖关系交由框架处理,减低组件的耦合性;
(3)Spring提供了AOP技术,支持将一些通用任务,如安全、事务、日志、权限等进行集中式管理,从而提供更好的复用。
(4)spring对于主流的应用框架提供了集成支持。
5.Spring配置文件有什么作用?
Spring配置文件是个XML文件,这个文件包含了类信息,描述了如何配置它们,以及如何相互调用。
6.什么是SpringIOC容器?
IOC控制反转:SpringIOC负责创建对象,管理对象。通过依赖注入(DI),装配对象,配置对象,并且管理这些对象的整个生命周期。
Spring框架是很重要的框架之一,它主要是简化 Java 企业级应用的开发难度和开发周期。所以对于Spring框架的相关知识一定要掌握!最后大家如果想要了解更多Java面试题知识,敬请关注奇Q工具网。
推荐阅读: