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 já 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.