@Configuration, to define class as Spring Configuration Class.@Autowired, auto instance the given class.
@Component, the most generic way to defining a Spring Bean.@Repository, used in Data Access Object (DAO) components.@Service, used in business service components.