Adding an @Service component
We will continue our work by introducing a Service
component. So, what is a Spring service exactly? An @Service
annotated class is Service
, originally defined by domain-driven design. That is an operation offered as an interface that stands alone in the model, with no encapsulated state.
Spring offers the following commonly used annotations:
@Component
@Controller
@Repository
@Service
Let's explain the difference between them.
@Component
is a generalization stereotype for any component managed by Spring Framework.
The following specializations are available: @Repository
, @Service
, and @Controller
. Each is specialized for a different use:
@Repository
annotation is a marker for any class that fulfills the role of a Data Access Object (DAO) of a repository. It also offers the automatic translation of exceptions. We will explain its usage soon.@Controller
annotation has already been covered in the previous examples.@Service
annotated class will have the purpose of connecting...