有没有办法在spring中设置属性,而不是类的实例,而是类对象本身?即
而不是
<bean>
<property name="prototype" class="a.b.c.Foo">...
Run Code Online (Sandbox Code Playgroud)
给你一个"Foo"的例子,类似于:
<bean>
<property name="prototype" class="java.lang.Class" value="a.b.c.Foo.class"...
Run Code Online (Sandbox Code Playgroud)
编辑:到目前为止最好(工作)的解决方案 - 使用正常的实例化并在setter中派生类.在解决方案方面,我认为我们将其描述为"作弊":
<bean class="Bar">
<property name="prototype" class="a.b.c.Foo">...
public class Bar{
public void setPrototype(Object o){
this.prototypeClass=o.getClass();
Run Code Online (Sandbox Code Playgroud)
编辑:dtsazza的方法也适用.
编辑:pedromarce的方法也适用.
ped*_*rce 39
<bean>
<property name="x">
<value type="java.lang.Class">a.b.c.Foo</value>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
这应该工作.
And*_*yle 11
你当然可以使用静态工厂方法 Class.forName(),如果没有更优雅的语法(我不相信):
<property name="x">
<bean class="java.lang.Class" factory-method="forName">
<constructor-arg value="a.b.c.Foo"/>
</bean>
</property>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19470 次 |
| 最近记录: |