Spring面试题(三)

  1. 说说Spring有哪些模块?
    答:
    Spring Core:该模块提供了核心类库,提供了IOC服务。
    Spring AOP:该模块提供了AOP功能,面向切面编程。
    Spring Context:该模块提供框架式的Bean访问方式,其他程序可以通过Context访问Spring的Bean资源。
    Spring DAO:该模块提供了JDBC的抽象,简化了数据访问异常的处理。
    Spring ORM:该模块提供了对现有ORM框架的支持。
    Spring Web:该模块提供了创建Web应用程序的支持。
    Spring MVC:该模块为Spring提供了一套轻量级的MVC实现。

  2. 说说Spring中bean的的几种装配机制?
    答:在xml文件中显示配置,在java中显示配置以及隐式的Bean发现机制和自动装配。

  3. 什么是Spring的自动装配?
    答:Bean之间如果有依赖关系,Spring就会在应用中为这个Bean找到它所依赖的那些Bean,这种Spring自发自动的对Bean进行装配的行为,就叫做自动装配。

  4. 说说Spring中自动装配的方式有哪些?
    答:
    byName:根据Bean的名称进行自动装配。
    byType:根据Bean的类型进行自动装配。
    no:不进行自动装配,通过手动来设置Bean之间的依赖关系。
    constructor:通过调用类的构造函数来注入依赖项。
    autodetect:首先如果有默认的构造函数,则通过constructor的方式进行自动装配,如果没有,则尝试通过byType方式来自动装配。
    default:默认采用上一级标签的自动装配的取值。

  5. 自动装配有哪些局限性 ?
    答:
    重写:仍需用 < constructor-arg >和 < property > 配置来定义依赖,这意味着总是要重写自动装配。
    基本数据类型:不能自动装配简单的属性,如基本数据类型,String字符串,和类。
    模糊特性:自动装配不如显式装配精确,如果有可以的话,推荐使用显式装配。

  6. 什么是Spring IOC容器?
    答:Spring IOC容器负责创建对象,管理对象(通过依赖注入(DI),装配对象,配置对象,并且管理这些对象的整个生命周期。

  7. 可以在Spring中注入一个null和一个空字符串吗?
    答:可以。

  8. 什么是基于注解的容器配置?
    答:不再使用xml文件来描述bean的装配过程了,而是在需要的类,方法,字段上声明上相应的注解,其实际效果和xml文件是一样的,但是会显得更简洁,相比于在xml文件上做各种配置的说明,我更喜欢在java文件上动手脚,代码看起来也更亲切。

  9. 了解@Bean和@Configuration这两个注解么?
    答:@Bean这个注解和用xml文件里面的< bean >标签作用是一样的,描述了一个类信息。而@Configuration这个注解和xml文件里面的< beans >标签作用是一样的,代表着多个类信息,所以@Configuration注解的类中可以声明一个或多个用@Bean注解的方法。

  10. 如何在Spring中启动注解装配?
    答:在默认的情况下,Spring容器并没有打开基于注解的装配。可以在Spring配置文件中配置
    < context:annotation-config/ > 元素,这样就可以启用它了。

发布了289 篇原创文章 · 获赞 302 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_38106322/article/details/104713535
今日推荐