返回null据spring ref docs:java.beans.PropertyEditorManager.findEditor(Locale.class)春季
Spring使用java.beans.PropertyEditorManager来为可能需要的属性编辑器的搜索路径。
但是我却越来越空的位置:
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;
import java.util.Locale;
public class DefaultEditorsTest {
public static void main (String[] args) {
ApplicationContext context = new
ClassPathXmlApplicationContext("spring-config.xml");
PropertyEditor editor = PropertyEditorManager.findEditor(Locale.class);
System.out.println(editor);
}
}
输出:
Sep 13, 2016 8:47:29 PM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
INFO: Refreshing org[email protected]17f052a3: startup date [Tue Sep 13 20:47:29 CDT 2016]; root of context hierarchy
Sep 13, 2016 8:47:29 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [spring-config.xml]
null
我的春天-config.xml中的实际注册了几个豆类。为什么我得到空?如果这不是一个正确的方法,那么如何获得Spring的LocaleEditor实例和其他?我想在一个swing应用程序中使用它,我可能会使用spring提供的很多,所以我不想手动注册它们。 在此先感谢。
Thanks abaghel,that works。但据我了解,是不是有一个全球性的财产编辑登记处?从你的方法看来,编辑器每次创建bean时都会重新创建(bean包装器需要一个bean类或名称,null不起作用),这是否正确?为不同的bean创建不同的默认编辑器,可能取决于bean字段? –
没有bean的BeanWrapperImpl实例也可以工作,并且会加载PropertyEditor。尝试BeanWrapperImpl wrapper = new BeanWrapperImpl(); – abaghel
太棒了!那也可以。我认为这是解决我的问题的唯一最好方法。顺便说一句,我一直在努力解决更多问题。如果我在'new BeanWRapperImpl()'中使用空的构造函数,我可以获得所有已注册的默认编辑器的列表。再次感谢abaghel –