Вместо того, чтобы напрямую представлять бины DAO, вы должны создать некоторые бины контроллера Spring MVC и вызывать их со стороны клиента (используя AJAX). В идеале контроллеры не должны напрямую вызывать DAO, а вместо этого должны вызывать сервисные бины (а сервисные бины должны вызывать DAO). Одним из преимуществ этого подхода является то, что вы можете определить свои методы обслуживания как транзакционные, то есть всякий раз, когда метод службы начинается, транзакция запускается и всякий раз, когда метод службы возвращает (без исключения), транзакция фиксируется. Если границами ваших транзакций являются ваши методы DAO, то невозможно обернуть несколько вызовов базы данных в одну транзакцию.
Конечно, нет причин, по которым вам нужно использовать Spring MVC - подойдет любой веб-фреймворк.