Factory-method via anotação Spring

3 respostas
jweibe

Bom dia a todos!!!

Bem é o seguinte a minha dúvida como posso configurar o atributo factory-method via anotação?
Quando crio a configuração via .xml eu consigo setar o método, porém via anotação não encontrei uma forma,
alguém pode me ajudar e me explicar como posso realizar este procedimento.

3 Respostas

ThiagoInGuj

E aí, conseguiu resolver? Também to querendo a solução disso! Valeu!

jweibe

Cara eu resolvi da seguinte forma.
No meu Bean contralado pelo Spring eu implemento a interface FactoryBean<T> que contém os seguintes métodos:

  • getObject()
    Responsável por criar o seu Bean.
  • getObjectType()
    Retorna o tipo do seu Bean. Ex: Usuario.class.
  • isSingleton()
    Onde você sinaliza se o seu Bean vai ser uma singleton ou não. Por default e false.

Ref:
http://www.captaindebug.com/2011/06/implementing-springs-factorybean.html
http://www.java2s.com/Code/Java/Spring/SpringFactoryBeanDemo.htm

ThiagoInGuj

Entendi. No meu caso, eu também encontrei uma solução:

Eu criei uma classe Fábrica:

@Configuration
public class FabricaDeDao
{

	@Bean
      	public ProdutoDAO produtoDao() throws Exception
	{
		System.out.println("Executando metodo produtoDao de FabricaDeDao");
		return getDao("dao.impl.ProdutoDAOImpl");
	}

}

E quando eu quiser um ProdutoDAO, eu chamo ele:

@Service
public class ProdutoAppService
{
	@Autowired
	private ProdutoDAO produtoDAO;
}

E no xml, eu coloco isso, e nada mais:

<context:component-scan base-package="appService,dao.controle"  />

Obrigado por me enviar a sua forma!!

Criado 8 de dezembro de 2011
Ultima resposta 6 de jul. de 2012
Respostas 3
Participantes 2