[Spring] Registrando beans programaticamente

4 respostas
C

Olá pessoal,

Utilizando o Spring, uso o applicationContext.xml para configurar a maioria dos meus beans, contudo quero que alguns beans sejam configurados programaticamente.

Esperei que houvesse métodos em ApplicationContext que adicionassem novos beans, mas não encontrei.

Vocês tem alguma dica?

Obrigado.

4 Respostas

Aldrin_Leal

Ler o fonte do XMLBeanDefinitionReader e compreender como isto é feito.

No meu caso, eu costumo criar uma BeanFactory (utilizando um template Velocity pra ler a Definition) sendo que a BeanFactory pai é o ApplicationContext. Aqui, funciona.

Thiago_Senna

Para você não serviria utilizar spring-annotations ou as annotations do próprio spring, como por exemplo: @Repository, @Component, @Resource e etc…? Pelo menos quando brinco com o spring 2.1 usando annotations as configurações são mínimas, hehe…

Outra opção mais programática seria: http://www.springframework.org/javaconfig

M

Veja aqui http://blog.mauros.org/?p=7

C

Oi pessoal,

Obrigado pelas respostas. Consegui o que queria com um código semelhante ao abaixo:

GenericWebApplicationContext context = new GenericWebApplicationContext();
...
context.registerBeanDefinition(beanId, beanDefinition);

:slight_smile:

Criado 6 de agosto de 2007
Ultima resposta 7 de ago. de 2007
Respostas 4
Participantes 4