I think the default ConversionService used by the container for injected values would be able to go from "file:${XD_HOME}/modules" to FileSystemResource automatically, so instead of an inner-bean here we could just use <constructor-arg value="..."/>