7
respostas

Configurações Servlet

Olá! O que pesa menos na inicialização do Tomcat? Configuração por XML ou pelo código Java? Qual a vantagem de utilizar o código Java para configuração? Alguém tem alguma dica para melhorar o tempo de inicialização do Tomcat?

Abraços!

7 respostas

Olá Sérgio, nunca observisei diferença no start da aplicação, creio que se houver é irrisório, mas do ponto vista prático annotations são muito mais práticas e fáceis de usar sem muita confusão

Annotations são bem práticas mesmo, mas pergunto sobre as Classes de Configuração criadas no Exercício. AppWebConfiguration, ServletSpringMVC, JPAConfiguration, ...

Sobre as classes, elas facilitam a localização dos dados caso ocorra problemas - é bem mais prático consultá-las. No .xml tudo fica amontoado, linha sobre linha. Ao meu ver, classes contam com a vantagem de facilidade na manutenção do código.

Para mim, a maior vantagem de utilizar a configuração em código sobre o XML é que você não tem que se preocupar em errar algum nome de propriedade sem querer, pois utilizo IDEs com função de auto-completar. No XML, é tudo string-based, então existe a chance de erro e demora até identificar um erro destes.

E mais, ter diversas classes ajuda a compartimentar cada bloco de configurações relacionadas entre si.

Olá Sérgio,

De fato pode ser uma preocupação, mas dificilmente isso irá impactar seu sistema. Como disse o Francisco, deve ser irrisório, especialmente em projetos pequenos. Projetos maiores tem outras coisas que podem pesar, como Tasks, métodos anotados com @PostConstruct e outras coisas assim que são carregadas na inicialização do sistema.

Uma solução é tentar carregar o menor número de coisas possíveis na inicialização e deixar para carregar mais tarde. Porém, essa é uma preocupação que eu só teria quando se tornasse de fato um problema para meu projeto. Enquanto isso, tocaria a vida de boa.

Faz sentido?

Faz todo o sentido, e o autocompletar das IDE's ajuda muito, como citado pelo Sr. Salles. Mas num fórum onde tem uma galera que debate JSF vs Spring, tem uns caras que preferem .xml , alegando justamente o ganho de velocidade no carregamento da aplicação.

A única situação que eu vejo como desvantagem neste caso é o ter as configurações hard coded. Afinal, quando se faz o deploy de uma aplicação é muito mais prático alterar os arquivos de configuração (xml) do que as classes e fazer um novo build. Claro que é possível adaptar o código para buscar propriedades de arquivos de configuração também, mas é algo que foge do padrão e das documentações do Spring.