Spring Framework: загрузить все ресурсы из classpath
У меня есть каталог в моем classpath в моем весеннем приложении. Как загрузить все файлы в этом каталоге с помощью ResouceLoader.
// bean for test context
public class DatabaseLoader {
@Autowired
protected ResourceLoader myLoader;
private Logger log = LoggerFactory.getLogger(this.getClass());
@PostConstruct
public void init() throws IOException, FileNotFoundException {
Resource[] resources = myLoader.getResource("classpath:fixtures/*.sql");
//codepopulate in memory db with all test fixtures
for (Resource r: resources) {
//populate in memory db with data in this resource.
}
}
}
1 ответ
PathMatchingResourcePatternResolver может загружать ресурсы, используя специальные classpath*:
префикс и / или внутренние регулярные выражения в стиле Ant. Например. загрузить все ресурсы на пути к классам, соответствующие *.sql
суффикс попробуйте следующий фрагмент:
PathMatchingResourcePatternResolver loader = new PathMatchingResourcePatternResolver();
Resource[] resources = loader.getResources("classpath:/*.sql");
for (Resource resource : resources) {
// process resource
}