negócio é o seguinte, preciso ler o arquivo ApplicationContext.xml do Spring, pelo próprio spring, mas não é para instanciar nenhuma classe, é tipo para ler mesmo, tipo acessar as chaves, sub-chaves, alguem tem alguma idea de como eu posso fazer isso? ou como eu posso procurar um jeito pra fazer? tipo algum novo de classe ou metodo do spring?
Descrobri, é só implementar a class BeanDefinitionRegistry conforme codigo exemplo abaixo:
importjava.util.HashMap;importjava.util.Map;importorg.springframework.beans.PropertyValue;importorg.springframework.beans.factory.BeanDefinitionStoreException;importorg.springframework.beans.factory.NoSuchBeanDefinitionException;importorg.springframework.beans.factory.config.BeanDefinition;importorg.springframework.beans.factory.support.BeanDefinitionRegistry;importorg.springframework.beans.factory.xml.XmlBeanDefinitionReader;publicclassTesteimplementsBeanDefinitionRegistry{privateMapmap=newHashMap();publicbooleancontainsBeanDefinition(StringbeanName){System.out.println("Nome do bean: "+beanName);returnmap.containsKey(beanName);}publicBeanDefinitiongetBeanDefinition(StringbeanName)throwsNoSuchBeanDefinitionException{System.out.println("Nome do bean: "+beanName);BeanDefinitionbd=(BeanDefinition)map.get(beanName);if(bd==null){thrownewNoSuchBeanDefinitionException(beanName);}returnbd;}publicintgetBeanDefinitionCount(){returnmap.size();}publicString[]getBeanDefinitionNames(){// TODO Auto-generated method stubreturnnull;}publicbooleanisBeanNameInUse(Stringarg0){// TODO Auto-generated method stubreturnfalse;}publicvoidregisterBeanDefinition(StringbeanName,BeanDefinitionbeanDefinition)throwsBeanDefinitionStoreException{System.out.println("-----------------------------------------------------");System.out.println("Registrando: "+beanName+" --> "+beanDefinition);System.out.println("Properties: ");for(inti=0;i<beanDefinition.getPropertyValues().getPropertyValues().length;i++){PropertyValuepv=beanDefinition.getPropertyValues().getPropertyValues()[i];System.out.println(pv.getName()+" = "+pv.getValue());}map.put(beanName,beanDefinition);}publicvoidremoveBeanDefinition(Stringarg0)throwsNoSuchBeanDefinitionException{// TODO Auto-generated method stub}publicString[]getAliases(Stringarg0){// TODO Auto-generated method stubreturnnull;}publicbooleanisAlias(Stringarg0){// TODO Auto-generated method stubreturnfalse;}publicvoidregisterAlias(Stringarg0,Stringarg1){// TODO Auto-generated method stub}publicvoidremoveAlias(Stringarg0){// TODO Auto-generated method stub}/** * @param args */publicstaticvoidmain(String[]args){Testeregistry=newTeste();XmlBeanDefinitionReaderreader=newXmlBeanDefinitionReader(registry);reader.loadBeanDefinitions("classpath:config/applicationResources.xml");}}