栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring系列面试题(day2)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring系列面试题(day2)

前景提要:

   作者会定期更新面试题,有兴趣一起学习的同学可以点个关注。

1。请写出 spring 中常用的依赖注入方式。

          IOC:控制反转,把对象的创建和对象的依赖关系交给spring管理

          好处是解耦,和方便开发

          DI:依赖注入,是IOC的实现方式。

       依赖注入的方式有两种;set方法注入的方式和构造方法注入的方式,xml和注解都行,随着             spring版本更新,完全注解化开发可替代XML方式。

        要和IOC容器的了两种实现方式和Bean管理的两种方式区分。

        注:IOC容器的两种实现方式:

             BeanFactory(接口),spring内部使用,加载配置文件时不会创建对象,在使用对象时创建。

              ApplicationContext,BeanFactory的子接口,加载配置文件时创建对象。

        Bean管理:创建Bean(创建对象),配置Bean(使用@Autowried等注解)

2. 简述Spring中如何基于注解配置Bean和装配Bean

           开启注解扫描,使用,或在配置类使用                        @ComponentScan()

           在具体类上加Component,service等注解,把对象交给spring管理

            使用@Autowried,@Resource等进行bean装配

3.简述Spring中IOC容器常用的接口和具体的实现类

     BeanFactory,IOC容器的最底层实现,面向spring框架本身。

     ApplicationContext,BeanFactory的字接口,提供了更多高级功能,面向开发者。

     ConfigurableApplicationContext,Application的子接口,扩展了cloe(),refresh()等关闭,刷新容           器           的                方   法。

     ClassPathXmlApplicationContext,从classpath的XML配置文件中读取.

     FileSystemXmlApplicationContext,从文件系统中的XML配置文件读取上下文。 

    XmlWebApplicationContext,由Web应用的XML文件读取上下文。

 

4.请解释Spring Bean的生命周期?

      通过构造器或工厂的方式创建对象

       给Bean对象属性注入值

        调用后置处理器的postProcessBeforeInitialization

      调用初始化方法,进行初始化,初始化方法是bean标签的init-method属性进行指定

     调用后置处理器的postProcessAfterInitialization

    使用

    IOC容器关闭,销毁bean

      

5.简单的谈一下SpringMVC的工作流程?  

      用户发送请求到DispatcherServlet前端控制器

      DispatcherServlet前端控制器收到请求,调用HandlerMapping处理器映射器

      HandlerMapping处理器映射器找到具体的处理器,生成处理器对象和处理器拦截器对象(如          果     有),一并返回DispatcherServlet

      DispatcherServlet调用HandlerAdapter处理器适配器

     HandlerAdapter经适配调用具体的的处理器即后端控制器Controller

     Controller执行,返回ModelAndView返回DispatcherServlet

     DispatcherServlet将ModelAndView传给视图解析器ViewReslover,

     视图解析器解析,返回具体view

     DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。

     DispatcherServlet响应用户

    

6.简述Spring 中bean的作用域?

        singleton(默认),单例bean,IOC容器只创建一个bean,后续从IOC 容器获取的都是同一个bean

        protyotype,多例模型(原型模型),每次从IOC容器获取,都会创建新的bean

       request,每次HTTP请求会产生一个新的bean,该bean在HTTP请求中共享。

        session,每次会话会产生一个新的bean,该bean在会话中共享

       global-session,全局HTTP会话,spring5已经没有了。

       知识点补充:

               设置bean作用域方法,bean标签的scope属性,和注解。

               单例模式和单例Bean有一定区别,单例bean并不是spring容器只有一个该类型的bean,

               该类型bean可能有多个不同id的bean,spring获取bean根据name,type.

                单例bean是线程不安全的。

             

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993354.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号