难道一类将作为一个Spring应用程序的Bean同时需要@Component
和@Named
在同一时间?
如果两者都使用,有什么意义?
我尝试在网上搜索并看到这些注释的标准文档,发现它们有些混乱。
最后,如果@Named
注释未为bean指定任何名称,那么应用程序将使用哪个名称?
@Component
和@Named
基本上是相同功能的注释,但它们来自不同的API。
@Component
属于Spring
API。它将类标记为自动检测为Bean,并且可以选择允许您为该Bean指定名称(@Component("foo")
)。没有显式名称规范,检测到的bean将获得一个从其类名称派生的默认名称。
@Named
属于javax.inject
API。它将类标记为自动检测为Bean,并要求您指定一个名称。
Spring支持这两种API。在同一个类上使用两个注释都没有意义,因为它们提供了相同的功能。
也可以看看:
问题内容: 我了解到注释是在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-模板的内容:
本文向大家介绍Spring中@Bean和@Component批注之间的区别。,包括了Spring中@Bean和@Component批注之间的区别。的使用技巧和注意事项,需要的朋友参考一下 Spring支持多种类型的注释,例如@ Component,@ Controller,@ service @Repository和@Bean。所有这些都可以在org.springframework.stereo