Spring com Seam, Parte 1: Contruindo um Componente Híbrido Spring-Seam – Etapa 02

Componente híbrido Spring-Seam

Existe uma certa quantidade de comportamento “mágico” que o Spring adiciona aos seus beans na forma de BeanPostProcessors. Se você registra uma classe do framework Spring que depende de uma funcionalidade provida diretamente por um componente Seam, você carrega a tarefa de emular o trabalho feito pelo container Spring. Seria melhor deixar o Spring fazer seu trabalho necessário e então acessar o Seam e consumir o produto final.

Isso descreve perfeitamente o comportamento de um componente híbrido Spring-Seam. Seam provê uma tag XML que é usada em uma definição de um bean Spring para indicar então ao bean Spring que ele pode ser tratado como um componente Seam de primeira classe. Assim como outros componentes Seam, o componente híbrido é, dado um nome, registrado no container Seam e envolvido com interceptores Seam quando instanciado. Vamos ver agora como Seam permite que você entrelace esta funcionalidade na definição de um bean Spring.

Preparando o Spring

Para iniciar a criação de um componente híbrido Spring-Seam, existem dois requisitos que sua aplicação deve atender. Você deve primeiramente incluir a biblioteca de integração de IoC do Seam, jboss-seam-ioc.jar, em seu classpath. Em seguida, como ilustrado na Listagem 5, você deve registrar o namespace do XML do Seam no arquivo de configuração do Spring para usar tags customizadas a partir do namespace do Seam (ex:wm-22-05-2008pic02.JPG). Note que nós estamos agora tratando com namespace do Spring que são usados no arquivo de configuração do Spring, não os namespaces do Seam que foram apresentados anteriormente.

Listagem 5. Registrando o namespace do XML do Seam