@RestController, @Service, @Repository, @Component

@RestController, @Service, @Repository, @Component

  • Presentation Layer

    • @RestController
      • Marks a class as a Spring MVC controller
  • Service Layer

    • @Service
      • Marks a class as a service layer component for defining business logic
  • Persistence Layer

    • @Repository

      • With Spring Data JPA, marks a interface as a data access layer component
      @Repository
      public interface AuthorRepository extends JpaRepository<Author, Long> {
      }
      
  • Generic Component

    • @Component
      • Marks a class as a generic Spring-managed component with no specific layer role