A estrutura do arquivo Maven pode ajudar com isso
Em essência, os arquivos de configuração do Spring (que podem ter qualquer nome a propósito, não apenas o genérico applicationContext.xml
) são tratados como recursos do caminho de classe e arquivados em src/main/resources
. Durante o processo de compilação, eles são copiados para o WEB-INF/classes
diretório que é o local normal para esses arquivos terminarem.
As variações incluem um spring
diretório adicional (por exemplo src/main/resources/spring
) para separar os contextos do Spring de outros recursos dedicados às estruturas de aplicativos. Você pode dividir os contextos do aplicativo em camadas dedicadas, como:
example-servlet.xml
example-data.xml
example-security.xml
e assim por diante.
E quanto a diferentes ambientes, como desenvolvimento / teste / produção?
Normalmente, sua configuração do Spring deve pegar a configuração do ambiente em seu ambiente. Geralmente, isso significa usar JNDI, JDBC, variáveis de ambiente ou arquivos de propriedades externas para fornecer a configuração necessária. Listo aqueles na ordem de preferência, já que geralmente é mais fácil administrar o JNDI do que arquivos de propriedades externas em um cluster de produção controlado.
No caso de teste de integração, pode ser necessário usar um arquivo de configuração do Spring "somente teste". Isso conteria contextos especiais que usam beans de teste ou configuração. Eles estariam presentes em src / test / resources e podem ter um test-
prefixo para garantir que os desenvolvedores estejam cientes de sua finalidade. Um uso típico seria fornecer um DataSource não JNDI, talvez direcionado a um banco de dados HSQLDB durante os testes automatizados de construção e seria referenciado no caso de teste.
No entanto, em geral, a maioria dos arquivos de contexto do Spring não precisa de modificação especializada, pois eles se movem entre as camadas. Deve acontecer que o mesmo artefato de construção (por exemplo, arquivo WAR) seja usado no dev / test / production apenas com credenciais diferentes.