如何在同一个 bean 中自动装配 bean

2023-12-13

我想将 bean A 的实例自动装配到 A 的同一个实例。如何通过注释(没有 XML)来实现此目的。

Example:

@Service
public class A {

    @Autowire
    A a;

}

我也尝试过

@Service
public class A {

    A a;

    @Autowired
    public void setA(final A a) {
        this.a = a;
    }

}

但它也不起作用:-/

使用 XML 之类的配置

<bean id="a" class="A">
    <property name="a" ref="a" />
</bean>

工作正常。而且还可以使用

@Service
public class A implements InitializingBean {

    A a;

    @Autowired
    ApplicationContext ctx;

    @Override
    public void afterPropertiesSet() throws Exception {
        a = ctx.getBean(A.class);
    }

}

但这很麻烦。奇怪的是,Spring 在使用 XML 配置时可以处理这个问题,但在使用基于注释的配置时却不能。


@Autowired在寻找自动装配候选者时跳过带注释的 bean,使用@Resource反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在同一个 bean 中自动装配 bean 的相关文章

随机推荐

  • Cut() 错误 - “中断”不是唯一的

    我有以下数据框 a ID a 1 b 1 a 2 b 2 1 1 40 00 100 00 NA 88 89 2 2 100 00 100 00 100 100 00 3 3 50 00 100 00 75 100 00 4 4 66 67
  • for 循环中的闭包

    循环中的闭包给我带来了问题 我想我必须创建另一个返回函数的函数来解决问题 但我无法让它与我的 jQuery 代码一起工作 这是简化形式的基本问题 function foo val alert val for var i 0 i lt 3 i
  • JSONField Django 模板没有显示我去了什么

    经过大量研究 我仍然没有找到如何做到这一点 我的目的是能够在键 值中分离我的 json 以仅显示我认为必要的内容 例如标题 作者 这是一个 Django 网站 我已经做到了 在 models py 中 class Production mo
  • 错误:找不到本地工作区文件('angular.json')

    I have travis ci与我的 GitHub 帐户集成 https github com pradeep0601 Angular5 Router App 当我更新的时候 angular cli从 1 7 4 版本到 6 0 0 rc
  • iOS 模拟器无法启动

    我正在尝试运行 Xamarin Forms 的示例 我已经制作了示例应用程序 我已在项目中添加了所需的包 但由于某种原因我收到了错误 无法启动模拟器 无法加载框架 libswiftCore dylib 路径 Applications Xco
  • 使用超过 1 个条件对 data.frames 进行子集化

    我发现这个问题与我的类似 但我需要知道一种方法来用数学条件 例如小于或等于或大于或等于 gt 或 根据多个条件在 R 中对数据帧进行子集化 关于如何做到这一点有什么想法吗 这是我的 data frame 的 dput structure l
  • Angular:ngOnChanges 不更新值

    我是 ngOnchanges 的新手 面临以下问题 我的父组件正在 ngOnChanges 设置推荐值并将相同的值发送到子组件 child 接收与 ngOnChanges 中的输入相同的内容 根据某些条件 例如totalVal gt 0 我
  • 控制器子目录?

    我想将一些控制器隔离在我的 Symfony2 应用程序的子目录中 像这样的东西 route resource MyBundle Controller Admin type annotation prefix admin 该目录中有6个控制器
  • 为什么我的 Javascript 中的两个正则表达式文字在属性上有所不同?

    我读到Javascript 好的部分Douglas Crockford 指出 JavaScript 正则表达式文字共享同一个对象 如果是这样 那么这两个正则表达式文字为何会有所不同lastIndex财产 var a a g var b a
  • Swift/Firebase 数据库无效令牌错误

    Firebase 遇到一些相当奇怪的问题 我已经通过 cocoaPods 安装了 firebase 包括 GoogleService Info plist 等 但是当我尝试从 Firebase 读取值时 出现此错误 2016 06 16 1
  • 使用加载数据将 csv 文件传输到 hive 表 - 如何格式化 csv 中的日期以供 hive 表接受

    我正在使用加载数据语法将 csv 文件加载到表中 该文件与 hive 接受的格式相同 但仍然在发出加载数据后 最后 2 列在选择时返回 null 1750 651 2013 03 11 2013 03 17 1751 652 2013 03
  • 文件浏览器的 vscode api

    我正在编写 VSCode 扩展 需要根据用户选择的文件夹 子文件夹创建文件 删除文件 有没有办法通过 Visual Studio Code api 从资源管理器树中查找选定的文件夹 人们可以通过活动文本编辑器跟踪打开的文件或onDidOpe
  • 如何向 django 管理站点添加新用户发送电子邮件?

    每当管理员向管理站点添加新用户时 我想向用户电子邮件地址发送一封包含登录详细信息的电子邮件 我知道 Django 为此提供了 send mail 模块 但我不知道应该把这段代码放在哪里 并覆盖某些视图以在添加新用户时自动发送邮件 from
  • Visual Studio Code - 防止同一文件打开两次

    以前曾发生过几次这样的情况 我打开同一个文件两次 然后就忘记了 这意味着我在两个窗格中编辑同一文件 这意味着同一文件的两个版本 这导致了错误 并且我不明白为什么我的代码无法正常运行 是否有设置可以防止同一文件打开两次 更新 v1 11 0
  • 如何为自定义 Android 通知添加垂直线到 RemoteView?

    我正在努力向自定义 Android 通知添加垂直线 我尝试将这样的视图添加到我的相对布局中
  • 只有一个条目的多维数组

    我编写了一个通用函数来调用存储过程 我尝试使用多维数组来传递参数 现在 该过程可能只采用一个参数 因此我的多维数组也只有一个参数 但这样的数组长度是2 MyParameters param1 name param1 value MyPara
  • 为什么 TH32CS_SNAPMODULE32 不能单独工作?

    我正在尝试 WinAPI 中的一些东西 我的操作系统是Win7 x64 P1 Ultimate 当我尝试列出进程的所有模块时 我发现我想要的模块是 32 位模块 所以我替换了 TH32CS SNAPMODULE With TH32CS SN
  • 在 ASP.NET 中将字符串转换为 DbGeometry 时出现“空间类型和函数不可用”错误

    当尝试如下转换字符串时 52 0986413 5 2171528 到一个类型的变量DbGeometry像这样 Geometry System Data Entity Spatial DbGeometry FromText POINT pre
  • PHP 准备方法在调用两次时不起作用?

    我使用的准备方法如下 db new mysqli localhost if db gt connect error die Connection Error id 1 if stmt db gt prepare SELECT name FR
  • 如何在同一个 bean 中自动装配 bean

    我想将 bean A 的实例自动装配到 A 的同一个实例 如何通过注释 没有 XML 来实现此目的 Example Service public class A Autowire A a 我也尝试过 Service public class