Spring IoC контейнер: сканирование classpath, @Component и дополнительные стереотипные аннотации

Аннотация @Repository является маркером для любого класса, который выполняет роль или стереотип репозитория (также известный как объект доступа к данным (Data Access Object) или DAO). Среди применений этого маркера - автоматический перевод исключений.

Spring предоставляет дополнительные стереотипные аннотации: @Component, @Service и @Controller. @Component - это общий стереотип для любого компонента, управляемого Spring. @Repository, @Service и @Controller являются специализациями @Component для более конкретных случаев использования (соответственно, в слоях постоянства (persistence), обслуживания (service) и представления (presentation)). Следовательно, вы можете аннотировать свои классы компонентов с помощью @Component, но, вместо этого, аннотируя их с помощью @Repository, @Service или @Controller, ваши классы лучше подходят для обработки инструментами или связи с аспектами. @Repository, @Service и @Controller могут содержать дополнительную семантику в будущих версиях Spring Framework. Таким образом, если вы выбираете между использованием @Component или @Service для своего слоя обслуживания (service layer), @Service, безусловно, является лучшим выбором. Точно так же, как указано ранее, @Repository уже поддерживается в качестве маркера для автоматического преобразования исключений в вашем слое постоянства (persistence layer).


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки