Foi feito com o netbeans.
O struts está funcionando bem e o spring faz injeção de dependências perfeitamente.
AOP não foi implementado
No processo de adaptar o projeto para o spring e struts, acho que quebramos algumas coisas e algumas funcionalidades não estão certas. Mas, não há mais tempo para correr atrás disso.
Um efeito colateral irritante e indesejável, que não conseguimos descobrir a causa, é que por algum motivo qualquer, quando o BD é populado, os registros não são commitados e a transação fica suspensa. A partir daí, você pode cadastrar um usuário, o hibernate vai lançar uma exceção e abortar a transação, mas isto o fará voltar ao estado normal. Daí na segunda tentativa de cadastrar usuário, o hibernate volta ao estado normal e você poderá continuar.
Em resumo: Vá em cadastrar usuário, a primeira tentativa vai dar pau, mas da segunda em diante fica ok. Não fazemos ideia do porquê disso.
Atenciosamente, Victor e Pedro.