Porque deveria usar o framework Spring

Bom dia galera

Ando vendo muito rebuliço sobre o framework Spring. Já fiz testes com o framework mas não consegui enxergar o que ele pode trazer de vantagem em relação ao desenvolvimento com STRUTS/HIBERNATE.

Na minha ignorancia não conseguir ver utilidades muito diferentes das que eu já utilizo. Peço a quem conhecer o framework para me ajudar a entender se Spring merece mesmo estar sendo usado.

Valeu

8O

Cara, vou começar mostrando um exemplo prático. O Spring ajuda a fazer esse código:

public List getBikes( ) throws Exception {
  List bikes = null;
  Session s = null;
  try {
    s = mySessionFactory.openSession( );
    bikes = s.find("from Bike");
  }catch (Exception ex) {
    //handle exception gracefully
  }finally {
    s.close( );
  }
  return bikes;
}

Ficar assim:

public List getBikes( ) {
  return getHibernateTemplate( ).find("from Bike");
}

Notou alguma diferença? :slight_smile:

Pois bem, o Spring serve para deixar o código mais simples. E isso
significa que seu código vai ser mais fácil de entender, manter e extender.

E como o Spring faz essa mágica? :?:

Essa simplicidade é apenas um dos benefícios de se usar IoC (Inversão de Controle). Um outro benefício é o fato de tornar as suas classes muito mais testáveis ( através da combinação de JUnit + EasyMock).

Bom, isso são os benefícios de se usar apenas o básico (core) do Spring.

Mas ele é muito mais que isso!

Ele possui um próprio framework MVC, de tal forma que você pode escolher usar o Struts ou ele. Ou outros melhores como Tapestry, JSF e WebWork.

Você pode facilmente AOP também. E ainda ganha facilidades ao implementar Trasações, outras formas de persistência, e mais um motão de coisas!

Já que o Spring é composto de vários bloquinhos (módulos independentes), comece pelo Core e vá estudando os outros um a um. :wink:

Para saber mais: Five Things I Love About Spring