Estou iniciando no mundo Spring e Hibernate (mundo Java Web em geral) e minhas dúvidas são referentes a padrões pro projeto ficar bem estruturado, pois duvidas referentes a funcionalidades são facilmente achadas no google, já questão de padrão os tutoriais parecem não ter, então segue algumas dúvidas, se alguém puder responder ou indicar links me ajudaria muito.
Dúvidas Referente a Paadrões de Estrutra de Projetos Spring e Hibernate
Perguntas Diretamente ao Spring
-Nos “@RequestMapping” que ficam nos Controllers, parece muito errado colocar uma String, qual seria uma boa pratica ? De repente criar uma classe estatica com todas acoes ?
-Ainda nos controles, os returns geralmente são os nomes das nossas JPS’s, tenho a mesma dúvida em relação a colocar um String pura, ou algo como citei acima ?
-Também nos pequenos projetos que fiz, o Controller conversa direto com o Dao, imagino que precise de uma camada de negócio antes, mas mesmo me confundi com o termo MVC, se for por essa definição não tem essa camada, e se ela for padrão existir como declaramos isso geralmente, por exemplo em acesso a Dados é DAO
-Durante o desenvolvimento de pequenos projetos fui coletando Jars do Spring, Hibernate, etc. Até tentar montar uma estrutura padrão para projetos. Apenas com isso é “seguro” fazer uma aplicação assim e publicar na Web (Sinto que não e tudo gira em torno de um tal de Maven que não faço ideia de como usar ou o que é) ?
-E uma ultima dúvida, em diversos XML declaramos o endereço localhost, como isso é tratado quando precisamos enviar o projeto pra web ? Mudados manualmente antes de enviar ?
-Uma bonus se alguem puder responder, baixei o “Spring Tool Suite” tem realmente diferença em desenvolver nele do que no padrão Eclipse EE ? Quais são as vantagens ?
Em relação ao JPA (Hibernate)
-Num pequeno projeto que fiz, o Spring gerencia (Injeção de Dependencia) o “EntityManager” para nós, minha dúvida é se no persistence.xml, aonde tem o mapemanento do Hibernate podemos ter varios “persistence-unit” ? Como fiz um projeto pequeno não sei se é comum, e se tiver como o Spring vai saber qual utilizar ?
-Em relação ao JPA, é comum fazer o bean (Dto) exatamente como na tabela do Banco de Dados ? Pergunto pois se fizermos iguais não precisaremos utilizar tags como @Colunm e @Table nos beans para mapear os campos do banco de dados, se torna mais fácil se for igual, mas é certo ?