电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Spring Framework常用面試題及答案匯總

瀏覽:4日期:2023-08-31 18:24:04

1.什么是Spring Framework ?

Spring Framework 是一個提供了完整性的編程或配置一個現代化的基于JAVA的企業應用,各種基礎設施的支持。

參見官方(https://spring.io/projects/spring-framework#overview):

The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.

Spring makes it easy to create Java enterprise applications. It provides everything you need to embrace the Java language in an enterprise environment, with support for Groovy and Kotlin as alternative languages on the JVM, and with the flexibility to create many kinds of architectures depending on an application’s needs. As of Spring Framework 5.1, Spring requires JDK 8+ (Java SE 8+) and provides out-of-the-box support for JDK 11 LTS. Java SE 8 update 60 is suggested as the minimum patch release for Java 8, but it is generally recommended to use a recent patch release.

2.Spring Framework有哪些核心模塊 ?

spring-context : 事件驅動,注解驅動,模塊驅動等 spring-core : Spring基礎API模塊,如資源管理、泛型處理 spring-beans : Spring Bean 相關,如依賴查找、依賴注入 spring-aop : Spring AOP 處理,如動態代理、AOP字節碼提升 spring-expression : Spring表達式語言模塊

(項目使用Maven進行管理時,引入 spring-context模塊后,則會傳遞依賴加載其他4個模塊)

3.什么是IOC ?

IOC是控制反轉,類似于好萊塢原則(你不要打電話給我,我會打電話給你),主要包含依賴查找和依賴注入

4.依賴注入和依賴查找的區別 ?

依賴查找是主動或手動的依賴查找方式,通常需要依賴容器或標準API實現。而依賴注入則是手動或自動依賴綁定的方式,無需依賴特定的容器和API

5.Spring作為IOC容器的優勢有哪些 ?

典型的IOC容器管理,依賴注入、依賴查找

AOP抽象 事物抽象 事件機制 SPI擴展 強大的第三方整合 易測試性 等

6.Spring 中 BeanFactory和FactoryBean區別 ?

BeanFactory是IOC底層容器

FactoryBean 是創建Bean的一種方式,幫助實現復雜的初始化邏輯

7.Spring 中 BeanFactory和ObjectFactory區別 ?

ObjectFactory和BeanFactory均提供依賴查找的能力;

ObjectFactory僅關注一個或一種類型的Bean的依賴查找,并且自身不具備依賴查找的能力,能力則由BeanFactory輸出;

BeanFactory則提供了單一類型、集合類型以及層次性等多種依賴查找方式;

8.BeanFactory.getBean 操作是否線程安全 ?

BeanFactory.getBean 方法的執行是線程安全的,操作過程中會增加互斥鎖.

9.Spring有多少種依賴注入的方式 ?

構造器注入 Setter方法注入 字段注入 方法注入 接口回調注入

10.Spring偏好構造器注入還是Setter注入 ?

兩種依賴注入方式均可以使用,如果是必須依賴的話,推薦使用構造器注入,Setter注入用于可選依賴

11.Spring注入和依賴來源是否相同 ?

不相同,依賴查找的來源僅限于Spring BeanDefinition 以及單例對象;依賴注入的來源還包括 ResolvableDependency以及@Value所標注的外部化配置

12.單例對象能在Ioc容器啟動后注冊嗎 ?

可以的,單例對象的注冊于BeanDefinition不同,BeanDefinition會被ConfigurableListableBeanFactory#freezeConfiguration()方法影響,從而凍結注冊,單例對象則沒有這個限制

13.Spring依賴注入的來源有哪些 ?

Spring BeanDefinition

單例對象

  Resolvable Dependency

@Value 外部化配置

14.Spring內建的Bean作用域有幾種 ?

singleton -- 默認單例 ☆ prototype -- 原型 request -- Web中使用 session application websocket

15.Spring 中 singleton Bean 是否在一個應用中是唯一的 ?

否, singleton bean 僅在當前Spring IoC 容器(Bean Factory)中是單例對象; 而BeanFactory可能存在父容器

16.Spring 中 BeanPostProcessor 的使用場景有哪些 ?

Spring 中 BeanPostProcessor 提供 Spring Bean 初始化前和初始化后的生命周期回調;分別對應 postProcessBeforeInitialization 以及 postProcessAfterInitialization 方法,允許對關心的 Bean 進行擴展,甚至替換。

其中 ApplicationContext 相關的 Aware 回調也是基于 BeanPostProcessor 實現,即 ApplicationContextAwareProcessor

17.Spring 中 BeanFactoryPostProcessor 與 BeanPostProcessor 的區別 ?

BeanFactoryPostProcessor 是 Spring BeanFactory(實際為 ConfigureableListableBeanFactory)的后置處理器,用于擴展 BeanFactory, 或通過 BeanFactory 進行依賴查找或依賴注入;

BeanFactoryPostProcessor 必須有 Spring ApplicationContext 執行,BeanFactory 無法與其直接交互;

BeanPostProcessor 則直接與 BeanFactory 關聯,屬于N對1的關系。

18.Spring 中 BeanFactory 是如何處理 Bean 的生命周期 ?

BeanFactory的默認實現為 DefaultListableBeanFactory,其中Bean生命周期與方法映射如下:

BeanDefinition 注冊階段 -- registerBeanDefinition BeanDefinition 合并階段 -- getMergedBeanDefinition Bean 實例化前階段 -- resolveBeforeInstantiation Bean 實例化階段 -- createBeanInstance Bean 實例化后階段 --populateBean Bean 屬性賦值前階段 -- populateBean Bean Aware 接口回調階段 -- initializeBean Bean 初始化前階段 -- initializeBean Bean 初始化階段 -- initializeBean Bean 初始化后階段 -- initializeBean Bean 初始化完成階段 -- preInstantiateSingletons Bean 銷毀前階段 -- destroyBean Bean 銷毀階段 -- destroyBean

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | 高低温万能试验机_拉力试验机_拉伸试验机-馥勒仪器科技(上海)有限公司 | 东莞画册设计_logo/vi设计_品牌包装设计 - 华略品牌设计公司 | 自动化生产线-自动化装配线-直流电机自动化生产线-东莞市慧百自动化有限公司 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 铝单板_铝窗花_铝单板厂家_氟碳包柱铝单板批发价格-佛山科阳金属 | 艺术生文化课培训|艺术生文化课辅导冲刺-济南启迪学校 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 合肥礼品公司-合肥礼品定制-商务礼品定制公司-安徽柏榽商贸有限公司 | 螺旋压榨机-刮泥机-潜水搅拌机-电动泥斗-潜水推流器-南京格林兰环保设备有限公司 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 泰国试管婴儿_泰国第三代试管婴儿_泰国试管婴儿费用/多少钱_孕泰来 | 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 深圳诚暄fpc首页-柔性线路板,fpc柔性线路板打样生产厂家 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 喷砂机厂家_自动喷砂机生产_新瑞自动化喷砂除锈设备 | 釜溪印象网络 - Powered by Discuz! | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 全钢实验台,实验室工作台厂家-无锡市辰之航装饰材料有限公司 | 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 蒜肠网-动漫,二次元,COSPLAY,漫展以及收藏型模型,手办,玩具的新媒体.(原变形金刚变迷TF圈) | 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | 卫生人才网-中国专业的医疗卫生医学人才网招聘网站! | 颗粒机,颗粒机组,木屑颗粒机-济南劲能机械有限公司 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 飞飞影视_热门电影在线观看_影视大全 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 |