当前位置: 首页 > 面试题库 >

@Component和@Named代表同一个bean类

荆乐
2023-03-14
问题内容

难道一类将作为一个Spring应用程序的Bean同时需要@Component@Named在同一时间?

如果两者都使用,有什么意义?

我尝试在网上搜索并看到这些注释的标准文档,发现它们有些混乱。

最后,如果@Named注释未为bean指定任何名称,那么应用程序将使用哪个名称?


问题答案:

@Component@Named基本上是相同功能的注释,但它们来自不同的API。

@Component属于Spring
API。它将类标记为自动检测为Bean,并且可以选择允许您为该Bean指定名称(@Component("foo"))。没有显式名称规范,检测到的bean将获得一个从其类名称派生的默认名称。

@Named属于javax.injectAPI。它将类标记为自动检测为Bean,并要求您指定一个名称。

Spring支持这两种API。在同一个类上使用两个注释都没有意义,因为它们提供了相同的功能。

也可以看看:

  • 3.10类路径扫描和托管组件


 类似资料:
  • 问题内容: 我了解到注释是在Spring 2.5中引入的,目的是通过使用类路径扫描摆脱xml bean的定义。 是在Spring 3.0中引入的,可以与之一起使用,以完全摆脱xml文件并改用java config。 是否有可能重新使用注释而不是引入注释?我的理解是,两种情况下的最终目标都是创建bean。 问题答案: 并做两件完全不同的事情,不应混淆。 (和和)用于使用类路径扫描自动检测和自动配置b

  • 我是Spring框架的新手。我尝试在@component中使用@bean注释配置2bean。之后,我尝试getBean(按名称),得到一个NoSuchBeanDefinitionException。请帮我解决一下。 这是我的代码:-组件:

  • 问题内容: 对Spring来说还很新,我有一个关于注释类的问题。用注释类时,是否意味着该类将是Spring Bean,默认情况下是单例? 问题答案: 是的,没错,是Spring bean和Singleton。 如果类属于服务层你可能需要使用注释它而不是 但是请记住,为了检测到这些批注,你需要将以下行放在: 关于单例-缺省情况下,spring bean都在单例范围内。你唯一需要记住的是你不应该将状态

  • 我有一个,有两个Test和,使用原始bean,而使用mockedBean:所以总是有一个测试失败。有没有办法只模拟我的bean为

  • 我想在数据表primeng中用图标的形式表示一个列字段的布尔值。下面是一段代码: 对于boolean字段,我应该如何显示真值的“勾”和假值的“叉”呢? 我猜上面的代码在纯超文本标记语言的情况下工作得很好。但是,我应该如何将条件语句输出不同布尔值的两个不同图标?有什么快速的想法吗?? 我尝试使用ngIF,但它仍然没有显示我需要的方式。它只是显示ng-模板的内容:

  • 在一个表中有两列可以是来自同一表的外键,这样可以吗? 例如: 我有一个“address”表,表中有列: id,street,city_id,state,country(或id,street,city_id,state_id,state_id) 我有一个'states'表,保存状态和国家:id、name、level 那么我可以把states_id放在地址表的state和country中吗(如上面的括