@Repository 标注在持久层,即dao,用于标注数据访问。
@Service 标注在业务层,即service,用于标注业务逻辑。
@Controller 标注在控制层。
@Component 当不明确这个类属于那个层的时候,可以使用@Component进行标注,但不建议使用
@Autowired 属性加上@Autowired后不需要getter()和setter()方法,Spring会自动注入
@Autowired(required=false)表示,如果spring上下文中没有找到该类型的bean时,才会使用new ServiceImpl(); 
@Qualifier 当接口存在两个实现类的时候必须使用@Qualifier指定注入哪个实现类,否则可以省略,只写@Autowired

 

spring的bean容器相关的注解,先后有:@Required, @Autowired, @PostConstruct, @PreDestory,

还有Spring3.0开始支持的JSR-330标准javax.inject.*中的注解(@Inject, @Named, @Qualifier, @Provider, @Scope, @Singleton).

springmvc相关的注解有:@Controller, @RequestMapping, @RequestParam, @ResponseBody等等