@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?