Я не могу сказать о весне, но я отвечу на этот вопрос в общем виде:
В частности, я не понимаю, что они имеют в виду под обслуживанием, в чем разница с DAO
Представьте себе классический сценарий "денежного перевода", когда один клиент отправляет деньги второму клиенту. Здесь есть одна «услуга» (перевод денег), которая выполняется в два этапа: вычесть деньги со счета A, добавить деньги на счет B. Эти два шага должны быть в одной транзакции, даже если каждый из них выполняет манипулирование базой данных. Если транзакция завершится неудачей во время второго шага, первый также должен быть отменен.
В этом случае Сервис будет выглядеть так:
transfer(Account to, Account from, double value)
И DAO будет выглядеть так:
updateBalance(Account account, double amount)
Метод transfer
будет вызывать updateBalance
дважды, по одному для каждой операции.
Я не очень знаком с Spring в эти дни, поэтому я не уверен, если (и почему) Spring потребует, чтобы у вашего приложения был дополнительный слой, если этого не требует ваш бизнес.