/ / Чи слід робити спокійну веб-програму кількома модулями [закрито] - rest, spring-mvc, spring-data, spring-data-jpa, dao

Чи повинен я зробити спокійний веб-додаток декількома модулями [закрито] - відпочинок, весна-mvc, spring-data, spring-data-jpa, dao

Наша група використовувала для створення веб-додатківтрикотаж. Зазвичай ми мали б два модулі, dao і api. Dao складається з класів сутності та дао інтерфейсів / класів реалізації, тоді як модуль Api має усі інші api класи. Нещодавно ми перейшли з Джерсі на Spring MVC та Spring Boot. Оскільки ми використовуємо Spring Data та JPA, здається, немає необхідності мати пакет dao для всіх інтерфейсів та реалізацій. Натомість сховища JPA піклуються про весь доступ до даних. Послуги будуються на рівні сховища. Більш природним є наявність репозиторію JPA в тому самому модулі, що і служби, контролер тощо.

Яка найкраща практика організації відпочинкувеб-проект api? Чи повинен я налаштувати проект як двомодульний додаток, як і те, що ми робили раніше, тобто наявність усіх сутностей в одному модулі (модель чи дао), а решта переходить до іншого модуля, який називається api? Якщо це такий шлях, чи слід мені зберігати persistence.xml, який містить усі відображення ORM для сутностей у модулі сутності або модулі api?

Відповіді:

1 для відповіді № 1

Це переважно моя думка про модулі 1 проти 2, алеЯ не думаю, що існує одна відповідь. Це, мабуть, залежить від того, наскільки великий веб-додаток. Це єдиний API в тій самій кодовій базі / побудові, що є базовим CRUD, або у вас багато окремих, але менших API, що створюють більше середовища мікросервісу. У нас було кілька великих монолітних додатків, де ми розділили матеріали Dao на окремі модулі. Ми також розділили сторонні залежності, такі як Google або Stripe, в модуль, навіть окремий від матеріалів Dao. Спрощує створення окремої банки, якщо в цьому була необхідність.

Незалежно від того, що важливіше, ви можете переконатися, що у вас є одностороння залежність. Це означає, що API залежить від DAO, але не навпаки. Цікаво, що думають інші