@Repository @Service @Controller
@Component
–>only use for spring managed bean (no need weaving)
–>@repository, @Service @controller is actually a @Component , just naming easier for programmer to understand
@Configurable
—>used for non spring managed bean (use with weaving)
@Autowired
–> use for DI for both cases above
Is my understanding correct?
All but @Configurable are correct. From the Spring javadocs: