在我使用 Spring 容器的应用程序中,我创建了自己的注解,并且我希望在运行时获取使用我的注解进行注解的类的 Class 对象。为此,我想利用 Spring 容器。
在我的 .xml 配置文件中,我把
<context:component-scan base-package="some.package" >
<context:include-filter type="annotation" expression="some.package.Question" />
</context:component-scan>
所以用我的 Question 注释注释的类被 Spring 检测到。问题是这些类没有参数构造函数,所以现在我有 2 个选项:
- 在这些类中定义无参数构造函数
- 在 .xml 中定义 bean 并使用 constructor-arg
但是是否可以用一些注释来注释构造函数参数,所以 Spring 会知道它需要null
在创建 bean 期间传递值?
此外,这些 bean 将具有原型范围,并且从应用程序的角度来看,在创建 bean 期间不知道构造函数参数的内容。
编辑:我不得不使用@Value("#{null}")
注释构造函数参数