When to use service or component in spring?
For example, is a module responsible for sending email or common business logic a "service" or a "component"? and what's the difference?
Is a service able to call the other services? Is there any transaction problem? or a service should call the components only?
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.
Is there any system design criteria about this topic in Spring?