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
}
Другие вопросы по тегам