title: Whats the best practice of using Controller,Service and Repository annotations?
body: <p>I am quite confused with usage of <code>@Controller</code>, <code>@Service</code> and  <code>@Repository</code> in Spring-MVC.</p>
  <p>I have couple of questions and would be grateful to have them answered.</p>
  <ul>
  <li><p>I know controller is used to receive requests from view and make requests to for views to show results to users. My question is that to what extend can I do processing in a class with controller annotation? Should I do all the processing in service annotated class and keep controller for receiving requests and returning responses ONLY? I would like to know whats the best practice?</p>
  <p>Lets say I need to call different methods of service annotated class to process the results should I call them all from controller or pass them to service annotated class? (This is just an example)</p>
  </li>
  <li><p>If I would not want to process the results and just willing to send requests to database and receive the results, do I still need to have a service annotated class in between controller and repository?</p>
  <p>Lets say I receive a product id and would like to retrieve and show details of the product.(This is just an example)</p>
  </li>
  </ul>