当前位置: 首页 > 知识库问答 >
问题:

Spring autowire,名称为@componentscan,但属性上没有@autowired

满言
2023-03-14

只是在Spring4.3中从基于xml的配置迁移到基于java的配置。

<beans ... default-autowire="byName">
  <component-scan .../>
  ...
</beans>
@Component
public class MyService {
  private OtherService otherService;
  // +setters
  ....
}

另外,我尽量不在所有类的所有字段中添加@Autowired注释。这太多了,无法改变。

我现在的问题是:如何通过名称告诉组件扫描到autowire found bean

共有1个答案

晁开宇
2023-03-14

我不知道我是否理解您想要做什么,但是Spring支持@qualifier和@resource注释:

@resource接受一个name属性,默认情况下Spring将该值解释为要注入的bean名称。换句话说,它遵循名称语义

 类似资料:
  • 问题内容: 我正在使用JSON.NET,我想从XML转换为JSON。 我正在使用JsonConvert.SerializeXNode(node),我注意到我的json对象具有在其名称前面带有@的属性: 因此,例如:如果我有: JSON对象是: 为什么在JSON中插入“ @”,有什么方法可以避免插入“ @”字符? 问题答案: 我认为这就是json.net关于@符号的工作方式。您始终可以在json字符

  • Struts(1.38)新手,我得到以下错误:没有getter方法可用于名称hsForm下的bean的属性hs.has关系ToTeam。我被告知在HSDivForm中创建getHs和setHs方法,但这是问题所在吗?或者我该怎么做? 我的豆子: 我的表格: 我的jsp:

  • 问题内容: 我正在尝试找出对javascript对象的属性名称有效的内容。例如 b [‘-^ colour’]无效,但在所有浏览器中都存在古怪的现象,我不应该相信它会继续向前发展 b [‘-^ colour’]是完全有效的,但它的形式只能以这种方式访问​​-(受支持,所以对象也许可以用作地图?) 还有别的 顺便说一句,在javascript中,全局变量可能在顶层声明为 但也可以(据我所知)与 以下

  • 问题内容: 根据官方的JavaScript文档,您可以使用整数定义对象文字属性名称: 此外,您可以使用数字或字符串文字作为属性的名称。 像这样: 我的问题是,如何引用以整数作为名称的属性?我尝试了平常的尝试,但是遇到了错误。我能想到的唯一解决方法是使用循环。有什么建议? 问题答案: 您可以像引用数组一样引用对象的属性,并使用或

  • 问题内容: 我想序列化一个对象,以便根据字段的类型对字段之一进行不同的命名。例如: 在这里,我希望将字段序列化为类似的内容,而不是总是根据情况包含一个称为不同类型的字段。 使用Jackson怎么能达到这样的目的? 问题答案: 使用自定义。 然后,假设您要序列化以下两个对象: 第一个将打印: 第二个: 我使用了包装对象的名称,因为它仅用作花边固定器。如果要删除它,则必须为 整个 类编写一个自定义序列

  • 问题内容: 我想序列化一个对象,以便根据字段的类型对字段之一进行不同的命名。例如: 在这里,我希望将该字段序列化为类似的内容,而不是总是根据情况将字段称为包含不同类型的字段。 使用Jackson怎么能达到这样的目的? 问题答案: 使用自定义。 然后,假设您要序列化以下两个对象: 第一个将打印: 第二个: 我使用了包装对象的名称,因为它仅用作花边固定器。如果要删除它,则必须为 整个 类编写一个自定义