我在ProxyFactoryBean
课上遇到问题,
我们要获取targetBean
的ProxyFactoryBean
的类名。
当我们在getType
上调用BeanFactory
并给出bean名称时,它总是返回null。
我们的Java代码是
public class TestSpring {
public static void main(String args[]){
TestSpring ts = new TestSpring();
ts.process();
}
private void process() {
BeanFactory factory = new XmlBeanFactory(new FileSystemResource("E:\\beans.xml"));
Class c = factory.getType("scor.imagedev.action.imageDevServerTaskActions");
System.out.println(c);
}
}
我们的配置文件如下:
<bean id="scor.actionProxyTemplate" class="org.springframework.aop.framework.ProxyFactoryBean" abstract="true" >
<property name="proxyTargetClass" value="true" />
</bean>
<bean id="scor.imagedev.action.imageDevServerTaskActions" parent="scor.actionProxyTemplate" scope="prototype">
<property name="target">
<bean class="test.spring.Foo"/>
</property>
</bean>
我想在这里添加其他一些内容。
如果我们将bean设为singleton,那么它将起作用。但是在我们的情况下,我们希望它成为原型。
我们必须使用BeanFactory.getType(<beanName>)
。这是我们的基本框架。我们不能改变我们的基本框架。targetSource
可以解决问题吗?我试过了,但是没有用。可能是我使用不正确
我正在使用Spring 2.0.6。
问候
安奇
参考方案
文档说,如果类型不确定,则该方法返回null
。我找不到这意味着什么的参考,但是考虑到这些症状,我认为由于原型范围的原因,它是不确定的。 (该bean存在,因为否则将引发异常)
看完源代码后,我看不到返回null
的原因-如果没有单例,将查询bean定义。我可以建议尝试暂时获取Spring 2.5.6(或3.0.x),并查看问题是否可以重现或解决。
我知道Commons Validator框架是Struts项目在服务器端和客户端验证输入值的事实上的标准。Spring MVC项目是否也是如此?我得到的印象可能不是,大多数Struts书籍和论坛都谈论Commons Validator框架,但是只有少数Spring书籍和论坛可以。在Spring MVC项目中验证输入的最佳实践是什么?干杯! 参考方案 在引入S…
Java-搜索字符串数组中的字符串 - java在Java中,我们是否有任何方法可以发现特定字符串是字符串数组的一部分。我可以避免出现一个循环。例如String [] array = {"AA","BB","CC" }; string x = "BB" 我想要一个if (some condition to tell wheth…
Java:“自动装配”继承与依赖注入 - javaImprove this question 我通常以常见的简单形式使用Spring框架: 控制器服务存储库通常,我会在CommonService类中放一个通用服务,并使所有其他服务扩展到类中。一个开发人员告诉我,最好在每个服务中插入CommonClass而不是使用继承。我的问题是,有一个方法比另一个更好吗? JVM或性能是否会受到另一个影响?更新资料Comm…
Spring XML中的公共值配置 - java我有几个Spring bean,其中所有属性值之一都是相同的String值。有没有一种方法可以在XML中一次定义此String并在属性值设置的所有bean中引用它?<bean id="somebean" class="test.SomeBean"> <property name="prope…
Spring中的应用程序上下文有什么作用? - java我昨天问了一个问题(Using Spring in standalone apps),有关如何在独立应用程序中使用Spring。由此得知,您只创建一次应用程序上下文对象。因此,现在的问题是(即使在评论中得到了部分回答)创建应用程序上下文时会发生什么?当您说时,Spring是否会创建这些豆子并将它们连接在一起new ClassPathXmlApplicatio…