SNAPSHOT - это для удобства. Когда идёт разработка код меняется часто. Поэтому та версия, что Maven хранит в локальном репозитории не считается окончательной. И Maven при каждой сборке проверяет - нет ли обновления в центральном репозитории. Если же указать версию без SNAPSHOT, то Maven скачает версию в локальный репозиторий и будет использовать её всегда, не обновляя из центрального репозитория.
Это работает не так. В зависимостях Maven всегда нужно использовать конкретную версию. То есть если указана версия 1.0-SNAPSHOT, то она и будет использоваться. Версии 0.8, 0.9, 1.0 - нет. А если указать 1.0 - то, опять же, будет использована она. Смысл в том, что пока идёт разработка - используете 1.0-SNAPSHOT. Когда зарелизились - 1.0 для стабильной версии и что-то типа 1.0.1-SNAPSHOT - для следующей версии в разработке и т.д.
Можно проверять существование каждого из трёх ресурсов одним составным SQL-запросом, если есть желание. Впрочем, большой разницы нет - один запрос или три.
Если используете реляционную базу данных, то самый надёжный вариант - это проверка внутри одной транзакции запросами типа SELECT...FOR UPDATE. Запрос может быть и один, кстати. А так - да, вполне рабочий подход
Мыслите не пакетами данных, а действиями над ними. Кладите в очередь эти действия, выбирайте их оттуда в другом потоке и запускайте на исполнение. Или сразу запускайте на исполнение в Executor.
nuclear_kote: Что значит "заменит"? BetterHttp будет подставляться вместо Http в конструкторы, чего вы и добиваетесь. Если вам нужен оригинальный Http, то назначьте его на другой токен. Впрочем, подменять Http в любом случае не нужно. Достаточно подменить ConnectionBackend. Именно он делает всю работу.
Так не пойдёт. Зачем там export default? Это требование React или что? Почему нельзя написать export class Child и импортировать его по-человечески import {Child} from './child'?