title: When to use service or component in spring?
body: <p>When to use service or component in spring?</p>
  
  <p>For example, is a module responsible for sending email or common business logic a "service" or a "component"?
  and what's the difference?</p>
  
  <p>Is a service able to call the other services? 
  Is there any transaction problem? or a service should call the components only?</p>
  
  <p>Someone told me that a service should never call the other services and should only call the components instead, which means Controller->Service->Component->DAO, but I found many people share the concept of Controller->Service->DAO with no component.</p>
  
  <p>Is there any system design criteria about this topic in Spring?</p>