A convenção que eu uso e vi na maioria dos projetos de código aberto (incluindo Spring et al) é colocar todos os arquivos não-java em um diretório de recursos, em um diretório descritivo:
module-root/
src/
main/
java/
(Java sources go here)
resources/
log4j.xml
spring/ (spring xmls go here)
sql/ (sql scripts go here)
mongo/ (<-- seems like a good place for mongoDB functions)
test/
unit/
java/ (unit test java sources go here)
resources/ (unit test specific resources - usually none)
integration/
java/ (integration test java sources go here)
resources/
spring/ (usually an ITestAssembly.xml goes here)
O buildfile então empacota os recursos em um jar de recursos, que é implantado junto com todos os outros jars.