Вы ж явно на каждый вызов создаете по новому инстансу фабрики, сервис и дао. Спринговая магия будет работать только, если эти фабрики являются частью спрингового контекста и, по сути, синглтоны.
Собственно - правильное решение - заводить их как бины. Костыльное - управлять количеством инстансов на уровне класса вручную. Но это вам в какой-то момент отстрелит колено, да и по сути, нивелирует смысл спринга в приложении