Spring框架知识点问答-NO3

一. 什么是spring 的内部bean ?

只有将bean用作另一个bean的属性时,才能将bean声明为内部bean。为了定bean,Spring基于XML的配置元素在或中提供了元素的使用。内部bean总是匿名的,它们总是作为原型。

二.什么是spring 装配?

当bean 在spring容器中组合在一起时,它被称为装配或bean装配。Spring容器需要知道需要什么bean以及容器应该如何使用依赖注入来讲bean绑定在一起,同时装配bean。

三.自动装配哪些方式?

Spring容器能够自动装配bean 。 也就是说,可以通过检查BeanFactory的内容让Spring 自动解析bean 的协作者。

自动装配的不同模式:

no - 这是默认设置,表示没有自动装配。应使用显示bean引用进行装配。

byName - 它根据bean的名称注入对象依赖项。它匹配并装配其属性与XML文件中由相同名称定义的bean。

byType - 它根据类型注入对象依赖项。如果属性的类型与XML文件中的一个bean名称匹配,则匹配并装配属性。

构造函数 - 它通过调用类的构造函数来注入依赖项。它有大量的参数。

autodetect - 首先容器尝试通过构造函数使用autowire装配,如果不能,则尝试通过byType自动装配。

四. 自动装配有什么局限?

覆盖的可能性 - 您始终可以使用和设置指定依赖项,这将覆盖自动装配。

基本元素类型 - 简单属性(如原数据类型,字符串和类)无法自动装配。

令人困惑的性质 - 总是喜欢使用明确的装配,因为自动装配不太精确。

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

不使用XML来描述bean装配,开发人员通过在相关的类,方法或字段声明上使用注解将配置移动到组件类本身。它可以作为XML设置的替代方案。

例如:Spring的Java配置是通过使用@Bean和@Configuration来实现。

@Bean注解扮演与元素相同的角色。

@Configuration 类允许通过简单调用同一个类中的其他@Bean方法来定义bean间依赖关系。

六.如何在Spring中启动注解装配?

默认情况下,Spring 容器中未打开注解装配。因此,要使用基于注解装配,我们需要通过配置 元素在Spring配置文件中启用它。

七.@Component,@Controller, @Repository,@Service 有什么区别?

@Component:这将Java类标记为Bean。它是任何Spring管理组件的通用构造。Spring 的组件扫描机制现在可以将其拿起并将其拉入应用程序环境中。

@Controller:这将一个类标记为Spring Web MVC控制器。 标有它的Bean会自动导入到IoC容器中。

@Service:此注解是组件注解的特化。它不会对@Component注解提供任何其他行为。可以在服务层中使用。

@Repository:这个注解是具有类似用途和功能的@Component注解的特化。它为DAO提供了额外的好处。它将DAO导入IoC容器,并使未经检查的异常有资格转换为Spring DataAccessException。

八.@Required注解有什么用?

@Required应用于bean属性setter方法。此注解仅指示必须在配置时使用bean定义中的显式属性值或使用自动装配填充受影响的bean属性。如果尚未填充受影响的bean属性,则容器将抛出BeanInitializationException。

九.@Autowired注解有什么用?

@Autowired可以更准确的控制应该在何处以及如何进行自动装配。此注解用于在setter方法,构造函数,具有任意名称或多个参数的属性或方法上自动装配bean。默认情况下,它是类型驱动的注入。

十.@Qualifier注解有什么用?

当创建多个相同类型的bean并希望仅使用属性装配其中一个bean时,可以使用@Qualifier注解和@Autowired通过指定应该装配哪个确切的bean来消除歧义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纵然间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值