[SpringFramework] - Acessar Beans de outros projetos (jars)

1 resposta
Bruno_Gambier

Pessoal.

Dividi minha aplicação em 2 módulos separados, fiz um projeto DAO onde ele possui toda a parte de persistência de dados utilizando Hibernate e spring, este projeto possui o seu próprio applicationcontext (data-source-context.xml) e este jar pode ser executado normalmente pois a classe main deste jar carrega os bens deste projeto.
Conforme o exemplo do código abaixo.
Porém agora que estou criando o outro projeto que irá utilizar esta "módulo" de persistência eu não sei como posso carregar os beans deste jar na minha outra aplicação, mesmo que que adicione o jar do projeto DAO no meu novo projeto não sei como acessar estes beans.

Alguém  fez algo semelhante ou teria alguma dica de como fazê-lo?

Main que carrega a bean do projeto DAO

public class ApplicationContextFactory implements InitializingBean{
	  	
	static Logger logger = Logger.getLogger(ApplicationContextFactory.class);
	
	private DataSource dataSource;
	
	protected static ApplicationContextFactory instance = new ApplicationContextFactory();
	private BeanFactory factory;
	ConsoleAppender consoleAppender = new ConsoleAppender(new PatternLayout());
		
	private ApplicationContextFactory(){
		Resource resource = new ClassPathResource("data-source-context.xml");
		factory = new XmlBeanFactory(resource);		
	}
	
	public Object getBean(String id){
		return factory.getBean(id);
	}	
	
	public static void main(String args[]){	
		try{
			instance.getBean("dataSource");			
			logger.info("DataSource carregado com sucesso");			
		}catch(Exception e){			
			throw new BeanInitializationException("DataSource Bean can not be created", e);
		}
		PaymentUsed paymentused = new PaymentUsed();
		System.out.println(paymentused.getId());
		
	}
	
	public void afterPropertiesSet() throws Exception {
		Assert.notNull(dataSource);		
	}
	
}

Desde já fico grato.

1 Resposta

Guilherme_Gomes

Você simplesmente declara o BEAN no seu xml:

dao.jar
|-- br.com.daos.BeanQualquer

modulo2.jar
|-- application.xml

...
<bean id="beanQualquerDoModuloDAO" class="br.com.daos.BeanQualquer"/>
...
Criado 30 de junho de 2009
Ultima resposta 30 de jun. de 2009
Respostas 1
Participantes 2