spring考试

第3题 面向对象编程的程序设计原则有哪些?(至少答出五条)

答:依赖倒置 针对接口编程
开闭原则 对扩展开放 对修改关闭
多用组合少用继承
单一职责原则
松耦合

正确答案:
1、找出变化,分开变化和不变的隔离,封装变化的部分,让其他部分不受它的影响。
2、面向接口编程隔离变化的方式使用者使用接口,提供者实现接口。“接口”可以是超类!
3、依赖倒置原则隔离变化的方式依赖抽象,不要依赖具体类!
4、对修改闭合,对扩展开放隔离变化的方式
5、多用组合,少用继承灵活变化的方式“有一个”:可能比“是一-个”更好。
6、单一职责原则方法设计的原则
第4题 Spring中都用了哪些设计模式,并举例说明?(每答出一条得2分)

答:工厂模式 sessionfactory
代理模式 aop
适配器模式 handleradapter

正确答案:
工厂模式---BeanFactory
单例模式---单例Bean
模板方法模式---AbstractApplicationContext
观察者模式---ApplicatonListenerBean  PostProcessorBeanFactory  PostProcessor
代理模式---AOP
策略模式---
事务管理适配器模式---HandlerAdapter
第5题 Spring的ApplicationContext 容器的创建、刷新过程是怎么的?

答:调用父类构造器、准备刷新、刷新、初始化bean

正确答案:
创建过程:
1、获取到Bean定义(xml、注解、javacodeBased)
2、刷新容器
刷新过程会经历如下的步骤:
1.Context为刷新做准备
2.获得子类中刷新的Bean工厂
3.对Bean工厂做准备工作
4.对Bean工厂进行前期处理
5.调用以Bean配置方式指定的BeanFactoryPostProcessor
6.向BeanFactory注册BeanPostProcessor
7.初始化国际化资源源
8.初始化应用事件广播器
9.执行子Context实现提供的onRefresh逻辑
10.注册Bean定义方式配置的应用事件Listener
11.完成BeanFactory的bean实例化
12.完成刷新的后处理
13.重置清理缓存
第6题 Spring IOC容器 ApplicationContext的扩展点有哪些?(每答出一条得2分)

答:beanfactory postprocesser

正确答案:
答案:
【扩展点1】模块扩展xml配置元素名称空间
【扩展点2】BeanFactory  PostProcessorBeanDefinition  RegistryPostProcessor
【扩展点3】BeanPostProcessor
【扩展点4】自定义组件标注注解https://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/core.html#beans-meta-annotations
【扩展点5】组件扫描的过滤器TypeFilterhttps://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/core.html#beans-scanning-filters
【扩展点6】ApplicationListener
【扩展点7】InstantiationAwareBeanPostProcessor
【扩展点8】AbstractApplicationContext中定义了很多模板方法,
第7题 Spring DI 依赖注入中什么情况下可以循环依赖,什么情况下不可以循环依赖?

答:。。。

正确答案:
答案:
1、构造参数依赖不允许循环依赖;
2、属性依赖中,有单例Bean参与时可以循环依赖。都是原型Bean则不可以。
第8题 简述Spring AOP的实现原理。

答:通过动态代理、cglib等实现

正确答案:
答案:
1、SpringAOP基于动态代理实现
2、采用了JDK动态代理来创建接口的代理对象
3、采用Cglib来创建类的代理对象
第9题 简述spring 事务管理的核心api及声明式事务管理的实现原理。

答:transactiondefinition、transactionstatus、platformtransactionmanager
通过aop对方法前后进行拦截开始时开启事物结束后提交或者回滚

正确答案:
核心API: PlatformTransactionManager、TransactionDefinition、TransactionStatus;
声明式事务管理的实现原理:AOP
第10题 简述spring-mvc的工作原理

答:dispatcherserlvlet收到请求后根据mapping配置转发对应的处理方法处理完成后通过modekandview返回给前端视图

正确答案:
答案:(每答对一点得1分)
1、DispatcherServlet初始化时将完成如下准备工作:
    a)创建ApplicationContext容器;
    b)从ApplicationContext容器中获得所有HandlerMapping、HandlerAdapter、ViewResolver、国际化资源器、ExceptionResolver等;
    c)HandlerMapping实例化时通过扫描获得RequestMappingInfo
2、请求的处理流程:
    a)DispatcherServlet接收到请求,通过HandlerMapping查找到该请求的Handler;
    b)再找到Handler对应的HandlerAdapter;
    c)执行HandlerAdapter得到结果
    d)渲染视图作出响应i.如果返回的是视图名,则通过ViewResolver得到对应的Viewii.通过View作出响应。
第11题 简述spring-boot starter机制

答:通过读取spring.factories文件autoconfiguration自动配置

正确答案:
答案:
spring-bootstarter机制完成两件事:
1、依赖jar的引入
2、自动配置Bean,自动配置的原理:
      a)基于@Configuration以及springboot中的条件配置注解@ConditionOnXXX来定义Bean。
      b)通过META-INF/spring.factories文件来指定自动配置的Bean定义类
      c)Spring-boot通过扫描META-INF/spring.factories文件来获得要注册的Bean定义。
第12题 Bean工厂和工厂Bean的区别是什么?

答:bean工厂是生产bean的工厂
工厂bean是用来产生新的brean的工通过getObject返回一个新的bean而不是其本身

正确答案:
答案:
Bean工厂是负责生产所有Bean、完成依赖注入的总工厂。
而工厂Bean,是实现了FactoryBean接口的Bean,它本身是一个Bean,同时它还负责某类Bean实例的创建工作。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容