O problema do Spring é que ele foi mal projetado e isso foi provado ao longo dos anos. Uma boa tecnologia esconde os detalhes de implementação e expõe o suficiente para que o usuário possa focar no que precise fazer. É por isso que é possível dirigir um automóvel sem entender como as suas partes internas funcionam, por exemplo. Por isso usamos computadores sem necessariamente entender como projetar microchips.
Ao contrário do que alguns podem pensar, frameworks não apenas resolvem problemas, mas também introduzem alguns novos. Embora sempre tenha sido possível obter beans povoados de queries pela JDK padrão e DBUtils e cache seja um problema essencialmente de middleware, as pessoas decidiram usar o Hibernate para a camada de persistência. Problema resolvido? Não, pois agora além das configuraçãos extras nós temos que gerenciar as sessões dele. O Spring permite entre outras coisas, gerenciar tais sessões de forma automática. Problema resolvido? Não, pois agora além da configurações também temos um projeto que depende de 50 JARs. O Maven permite gerenciar essas dependências. Problema resolvido? Não, pois além das configurações agora ele também fará o famoso Maven downloads the internet.
O estado calamitoso do desenvolvimento Java era óbvio e ululante para qualquer pessoa de bom senso.
Pessoas como nós nem sempre conseguiam escapar de algum projeto tosco com Spring, e lidávamos da melhor maneira possível. Alguns procuravam alternativas, outros tentavam criar os seus próprios frameworks que seriam infinitamente mais inteligentes, até que…
O Rails surgiu!
Não sou fanboy de Ruby, e nem de nenhuma outra linguagem. Eu nem gosto de Ruby, mas o Rails foi essencial, para expor a fraude que é o desenvolvimento em Java. Não acho que seu criador tenha sido um gênio, ele apenas sabia o que muitos sabiam, que o desenvolvimento com Java e Spring e Hibernate é obscenamente horrível.
Assim Rails se tornou um ótimo exemplo de uma boa tecnologia, ou seja, que facilita a vida das pessoas.
O mundo dos desenvolvedores Java caiu! Rails, assim como Nêmesis aos reis, apequenou os “grandes” e suas turbas de seguidores Java. A verdade inegável brilhou e atodoou-os. O que era sabido de poucos se tornou fato para todos. Provou, sem a menor sombra de dúvida, o quão insano é trabalhar com Spring.
Por isso vemos o Java EE buscando simplificação, e coisas como o Grails surgindo,e várias linguagens na JVM oferecendo diversas facilidades. Mera luta pela sobrevivência. O mundo desses desenvolvedores Java acabou e outro está começando.