Outras razões para não usar o Spring

A questão que eu deixei no fim do texto sobre o porque eu não uso o Spring teve uma resposta.

O Felipe Cruz comentou duas funcionalidades que são interessantes. A primeira, que ele citou, é uma integração com outro framework então não conta 🙂

Segue as funcionalidades e minhas considerações:

  1. É um container leve, que oferece infra para projetos Enterprise sem que seja necessário um container JEE
    • No meu caso, as interfaces são web, ou seja, só o Spring não resolve, continuo precisando de um Container Web. E como o Container Web já possui essas funcionalidades, não seria uma “pleonasmo” usar o Spring? E container leve, por container leve, eu fico com o Jetty que é rápido pra inferno e beeem pequeno. =D
  2. O controle de transações é bem flexivel e em casos não triviais é mais fácil configurar declarativamente do que programáticamente
      • Com a implementação que eu citei da DAOFactory, o controle de transação fica assim:

      ———————————————————–
      factory.txBegin();

      dao1 = factory.getDao(Entidade1DAO.class);
      dao1.foo1(bla1);

      dao2 = factory.getDao(Entidade2DAO.class);
      dao2.foo2(bla1);

      factory.txCommit();
      ———————————————————–

      O código acima está no método do POJO. Os métodos txBegin() e txCommit() são os responsáveis por demarcar a transação. Tudo o que acontece dentro destes métodos acontecerá na mesma transação.

      Mas esta mesma transação poderia ser controlada pelo Spring assim:

      Explicação do controle de transação declarada no xml.

      A imagem acima pode ser encontrada no site do Spring. Na parte que explica como funcionam as transações. Ou seja, a transação declarada é feita usando o container AOP para criar uma transação antes do método ser executado.

      Quanto ao valor do Spring, penso ser indiscutível. Sem ele EJB ainda seria um porre para usar. Mas graças as propostas que o Spring e o Hibernate trouxeram, a especificação do EJB 3 o melhorou muito a plataforma de componentes distribuidos.

      Mas o que eu tenho observado é que as funcionalidades mais interessantes do Spring só são atrativas quando a aplicação não irá executar em um container. Caso contrário elas se tornam duplicadas em relação ao container da aplicação.

      Anúncios

      Deixe um comentário

      Preencha os seus dados abaixo ou clique em um ícone para log in:

      Logotipo do WordPress.com

      Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

      Imagem do Twitter

      Você está comentando utilizando sua conta Twitter. Sair / Alterar )

      Foto do Facebook

      Você está comentando utilizando sua conta Facebook. Sair / Alterar )

      Foto do Google+

      Você está comentando utilizando sua conta Google+. Sair / Alterar )

      Conectando a %s