@Component注解未生效

Blade 未结 1 70
kaikai_sk
kaikai_sk 2024-10-31 19:17

一、该问题的重现步骤是什么?

1.  新创建一个模块, 在这个模块的utils目录中定义一个类,并且用@Component注解修饰, 并且实现了`ApplicationContextAware`接口。

2.  为这个类定义postConstruct的方法,里面打印log

3.  为这个类的setApplicationContext函数打印log。


image.png

image.png


二、你期待的结果是什么?实际看到的又是什么?

期望结果: 可以看到log打印出来。 并且可以获取到applicationContext实例。 

实际结果: 无log输出,并且applicationContext为空。

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

Bladex 3.4.0 商业版本,Windows系统。

四、请提供详细的错误堆栈信息,这很重要。

不涉及。 问题信息见描述。 

五、若有更多详细信息,请在下面提供。

将这个类换到Service目录下面是可以的。 可以获取到applicationContext,但是getBean会进入死循环(感觉上是),无异常log打印,并且getBeann语句之后的log也没有打印。。 

1条回答
  •  admin
    admin (楼主)
    2024-10-31 20:44

    bladex已经有SpringUtil可以用来getBean了,无需自行创建类来处理,具体可以参考源码来理解他的原理。

    CleanShot20241031204412@2x.png

    CleanShot20241031204521@2x.png


    CleanShot20241031204545@2x.png

    0 讨论(0)
提交回复