Ответ 1
Да, это правильно.
Если класс принадлежит служебному слою, вы можете захотеть его аннотировать с помощью @Service
Но имейте в виду, что для того, чтобы эти аннотации были обнаружены, вам нужно поместить эту строку в applicationContext.xml
:
<context:component-scan base-package="com.yourcompany" />
О синглтонах - spring beans по умолчанию находятся в одиночной области. Единственное, что вы должны иметь в виду, это то, что вы не должны хранить состояние в переменных поля (они должны содержать только зависимости). Таким образом, ваше приложение будет потокобезопасным, и каждый раз вам не потребуется новый экземпляр bean. Другими словами, ваш beans не имеет статуса.