Онлайн проекта Masterjava.
Материалы занятия (скачать все патчи можно через Download папки patch)
Добавил
requiredвupload.html
mvn clean -pl web\upload -am package
cd web/upload
mvn org.codehaus.cargo:cargo-maven2-plugin:run
ВНИМАНИЕ! перед накаткой патча создайте каталог web\webapp\src
Внимание! в postgres 10 с sequence могут быть проблемы
Правка для postgres 10 (
UserDao32):h.execute("SELECT setval('user_seq', " + (id + step - 1) + ")")
Fix: в
UserProcessor.processнельзя делать85: chunk.clean(), тк этот список асинхронно используется для вставки.
3. Рефакторинг
ВНИМАНИЕ! перед накаткой патча создейте в common каталог \src , иначе патч промахивается (от корня common\src).
Перенес
compile/runtimeтранзитивные зависимости изparentвcommon. Таким образом мы можен наследоваться отparentи не тянуть при этом все общие jar библиотеки
ВНИМАНИЕ!! Не забудте положить persist.conf в /apps/masterjava/config (или убрать required из persist\src\main\resources\persist.conf)
- Переопределение занчений в конфигурации в Spring.
- Встроенные профили Spring Boot
- Apache commons-configuration2
- Typesafe config library , user in Playframework
- HOCON Syntax: Include, required(), Substitutions
5. Lombok
- Подключаем Lombok
- Фичи Lombok
- Ten More Ways to Reduce Boilerplate with Lombok
- Подключение к IDEA
- Drawbacks, Call super constructor
- Declutter Your POJOs with Lombok
- добавить в DB и сделать DAO для городов, групп и проектов (города и группы как - foreign keys)
- добавить тесты на DAO
- добавить в модуле
uploadимпорт и сохранение в базу городов (импорт групп и проектов будут в следующем ДЗ)- загружаем
payload.xml - предполагается, что пользователей будет много, а городов, групп, проектов- на порядки меньше.
- если город уже есть в базе, просто пропускаем (не считаем ошибкой)
- загружаем
- добавить при импорте пользователей связи на города
- если город юзера отсутствует в базе - ошибка импорта
