spring面试题第四天(10道开胃菜)

文章介绍了Spring框架中bean装配的概念,包括依赖注入和自动装配。自动装配虽然方便,但存在重写和模糊匹配等问题。Spring支持基于Java的注解配置,如@Configuration和@Bean,以简化XML配置。启用注解装配需要配置<context:annotation-config/>。文中还提到了@Autowired和@Qualifier注解在处理多bean装配选择时的作用。
摘要由CSDN通过智能技术生成

一.什么是 bean 装配?

装配,或 bean 装配是指在 Spring 容器中把 bean 组装到一起,前提是容器需要知道 bean 的依赖关系,如何通过依赖注入来把它们装配到一起。

二.什么是 bean 的自动装配?

Spring 容器能够自动装配相互合作的 bean,这意味着容器不需要<constructor-arg>和<property>配置,能通过 Bean 工厂自动处理 bean 之间的协作。

三.自动装配有哪些局限性?

自动装配的局限性是:

重写:你仍需用<constructor-arg>和<property>配置来定义依赖,意味着总要重写自动装配。

基本数据类型:你不能自动装配简单的属性,如基本数据类型,String 字符串,和类。

模糊特性:自动装配不如显式装配精确,如果有可能,建议使用显式装配。

四.你可以在 Spring 中注入一个 null 和一个空字符串吗?

可以。

五.什么是基于 Java 的 Spring 注解配置?给一些注解的例子。

基于 Java 的配置,允许你在少量的Java 注解的帮助下,进行你的大部分 Spring配置而非通过 XML 文件。以@Configuration 注解为例,它用来标记类可以当做一个 bean 的定义,被SpringIOC 容器使用。另一个例子是@Bean 注解,它表示此方法将要返回一个对象,作为一个 bean 注册进 Spring 应用上下文。

六.什么是基于注解的容器配置?

相对于 XML 文件,注解型的配置依赖于通过字节码元数据装配组件,而非尖括号的声明。开发者通过在相应的类,方法或属性上使用注解的方式,直接组件类中进行配置,而不是使用 xml 表述 bean 的装配关系。

七.怎样开启注解装配?

注解装配在默认情况下是不开启的,为了使用注解装配,我们必须在 Spring 配置文件中配置<context:annotation-config/>元素。

八.@Required 注解

这个注解表明 bean 的属性必须在配置的时候设置,通过一个 bean 定义的显式的属性值或通过自动装配,若@Required 注解的 bean 属性未被设置,容器将抛出 BeanInitializationException。

九.@Autowired 注解

@Autowired 注解提供了更细粒度的控制,包括在何处以及如何完成自动装配。它的用法和@Required 一样,修饰 setter 方法、构造器、属性或者具有任意名称和/或多个参数的 PN 方法。

十.@Qualifier 注解

当有多个相同类型的 bean 却只有一个需要自动装配时,将@Qualifier 注解和@Autowire 注解结合使用以消除这种混淆,指定需要装配的确切的 bean。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值