Ler o ApplicationContext.xml [RESOLVIDO]

Bom dia !

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?

Muito Obrigado !

Alguem me ajude por favor ! ! ! :frowning:

Descrobri, é só implementar a class BeanDefinitionRegistry conforme codigo exemplo abaixo:

import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.PropertyValue;
import org.springframework.beans.factory.BeanDefinitionStoreException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;

public class Teste implements BeanDefinitionRegistry {

	private Map map = new HashMap();	
	
	public boolean containsBeanDefinition(String beanName) {
		System.out.println("Nome do bean: " + beanName);
		return map.containsKey(beanName);
	}

	public BeanDefinition getBeanDefinition(String beanName)
			throws NoSuchBeanDefinitionException {
		System.out.println("Nome do bean: " + beanName);
		BeanDefinition bd = (BeanDefinition) map.get(beanName);
		if (bd == null) {
			throw new NoSuchBeanDefinitionException(beanName);
		}
		return bd;
	}

	public int getBeanDefinitionCount() {
		return map.size();
	}

	public String[] getBeanDefinitionNames() {
		// TODO Auto-generated method stub
		return null;
	}

	public boolean isBeanNameInUse(String arg0) {
		// TODO Auto-generated method stub
		return false;
	}

	public void registerBeanDefinition(String beanName, BeanDefinition beanDefinition)
			throws BeanDefinitionStoreException {
		System.out.println("-----------------------------------------------------");
		System.out.println("Registrando: " + beanName + " --> " + beanDefinition);
		System.out.println("Properties: ");
		
		for (int i = 0; i < beanDefinition.getPropertyValues().getPropertyValues().length; i++) {
			PropertyValue pv = beanDefinition.getPropertyValues().getPropertyValues()[i];
			System.out.println(pv.getName() + " = " + pv.getValue());
		}
		map.put(beanName, beanDefinition);
		
	}

	public void removeBeanDefinition(String arg0)
			throws NoSuchBeanDefinitionException {
		// TODO Auto-generated method stub
		
	}

	public String[] getAliases(String arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	public boolean isAlias(String arg0) {
		// TODO Auto-generated method stub
		return false;
	}

	public void registerAlias(String arg0, String arg1) {
		// TODO Auto-generated method stub
		
	}

	public void removeAlias(String arg0) {
		// TODO Auto-generated method stub
		
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		Teste registry = new Teste();
		XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(registry);
		reader.loadBeanDefinitions("classpath:config/applicationResources.xml");

	}

}