@Component:这将 java 类标记为 bean。它是任何 Spring 管理组件的通用 构造型。spring 的组件扫描机制现在可以将其拾取并将其拉入应用程序环境 中。
@Controller:这将一个类标记为 Spring Web MVC 控制器。标有它的 Bean 会自动导入到 IoC 容器中。
@Service:此注解是组件注解的特化。它不会对 @Component 注解提供任何 其他行为。您可以在服务层类中使用 @Service 而不是 @Component,因为它 以更好的方式指定了意图。
@Required 注解表明bean的属性必须在配置的时候设置,通过一个bean定义的显式的 属性值或通过自动装配,若@Required注解的bean属性未被设置,容器将抛出 BeanInitializationException。从Spring 3.0开始,直接使用JSR-303/JSR-349提供的@NotNull等注解进行参数验证变得更为常见,因为它们提供了更广泛的校验能力和更好的集成性。
@Qualifier 当创建多个相同类型的 bean 并希望仅使用属性装配其中一个 bean 时,您可以使用@Qualifier 注解和 @Autowired 通过指定应该装配哪个确切的 bean 来消除歧义。
@RequestMapping 注解用于将特定 HTTP 请求方法映射到将处理相应请求的 控制器中的特定类/方法。此注释可应用于两个级别: 类级别:映射请求的 URL 方法级别:映射 URL 以及 HTTP 请求方法
@Repository:这个注解是具有类似用途和功能的 @Component 注解的特 化。它为 DAO 提供了额外的好处。它将 DAO 导入 IoC 容器,并使未经检查的 异常有资格转换为 Spring DataAccessException。
@Autowired默认是按照类型装配注入的,默认情况下它要求依赖对象必须存在 (可以设置它required属性为false)。@Autowired 注解提供了更细粒度的控 制,包括在何处以及如何完成自动装配。它的用法和@Required一样,修饰 setter方法、构造器、属性或者具有任意名称和/或多个参数的PN方法。
@Autowired和@Resource之间的区别
@Autowired默认是按照类型装配注入的,默认情况下它要求依赖对 象必须存在(可以设置它required属性为false)。
@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配 的bean才会按照类型来装配注入。
这里描述几种最常用的注解,网上找了一个全的链接,这里标注一下,方便后期查看: