@Autowired 注释
对类成员变量、方法及构造函数进行标注,完成自动装配的工作
在默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个。
当找不到一个匹配的 Bean 时,Spring 容器将抛出 BeanCreationException 异常,并指出必须至少拥有一个
匹配的 Bean.
当不能确定 Spring 容器中一定拥有某个类的 Bean 时,可以在需要自动注入该类 Bean 的地方可以使用
@Autowired(required = false),这等于告诉 Spring:在找不到匹配 Bean 时也不报错
@Qualifier 注释
我们在 Spring 容器中配置了两个类型相同的Bean时,当对 bean的成员变量进行自动注入时,
Spring 容器将无法确定到底要用哪一个Bean,用@Qualifier 注释可以指定具体的bean
@Qualifier("bean名") ; @Autowired 和 @Qualifier 结合使用时,
自动注入的策略就从 byType 转变成 byName 了。@Autowired 可以对成员变量、方法以及构造函数
进行注释,而@Qualifier 的标注对象是成员变量、方法入参、构造函数入参。正是由于注释对象的不同,
所以 Spring 不将 @Autowired 和 @Qualifier 统一成一个注释类。
@Resource注释
@Resource 的作用相当于 @Autowired,只不过 @Autowired 按 byType 自动注入,
而 @Resource 默认按 byName 自动注入罢了。
@Resource 有两个属性是比较重要的,分别是 name 和 type,Spring 将 @Resource 注释的 name 属性解析为
Bean 的名字,而 type 属性则解析为 Bean 的类型。所以如果使用 name 属性,则使用 byName 的自动注入
策略, 而使用 type 属性时则使用 byType 自动注入策略。如果既不指定 name 也不指定 type 属性,这时将
通过反射机制使用 byName 自动注入策略。
@PostConstruct注释
标注的方法在类实例化后调用
@PreDestro注释
标注的方法将在类销毁之前调用
@Component注释
将一个类定义了Spring 容器中的Bean
@Component 有一个可选的入参,用于指定 Bean 的名称
一般情况下,Bean 都是 singleton 的,需要注入Bean的地方仅需要通过byType
策略就可以自动注入了,所以大可不必指定Bean的名称
@Repository注释
和@Component 是等效的,命名上看来是持久层
@Service注释
和@Component 是等效的,命名上看来是业务层
@Controller注释
和@Component 是等效的,命名上看来是控制层
具体参看:http://jimmychenli.iteye.com/blog/327502
分享到:
相关推荐
### Spring框架中的Annotation注解详解 #### 一、Spring与Annotation的基本概念 Spring框架通过引入Annotation,极大地简化了Java开发中的依赖注入(Dependency Injection, DI)和面向切面编程(AOP)的过程。...
总结来说,Spring的Annotation配置大大简化了Bean的定义和依赖注入过程,使得代码更易于理解和维护。通过`@Component`、`@Service`、`@Repository`等注解,我们可以快速地将类声明为Spring管理的Bean,而`@Autowired...
标题“SpringIOC_SpringMVC_SpringAnnotation_JPA”涵盖了四个关键的Java开发框架和概念:Spring IOC(Inversion of Control,控制反转),Spring MVC(Model-View-Controller),Spring注解,以及JPA(Java ...
总结起来,这个项目展示了如何在Spring和MyBatis的注解模式下进行数据库操作。通过这种方式,我们可以减少XML配置,使得代码更简洁,同时也易于理解和维护。此外,Maven的使用使得项目的构建和管理更加规范和高效。
总结来说,Spring的声明式事务管理通过注解简化了事务的处理,让开发者可以专注于业务逻辑,而无需过多关注事务的细节。理解并熟练使用`@Transactional`及其相关属性,能有效提升代码的可读性和维护性。
Spring个人总结,基于Annotation注解的方式开发,配置
本实例将详细探讨如何通过注解(Annotation)来实现Spring AOP的方法拦截。 一、Spring AOP基础 Spring AOP是Spring框架的一部分,它提供了一种在运行时织入横切关注点(如日志、事务管理等)到目标对象的能力。AOP...
Spring Annotation和Maven的结合使用是现代Java项目中常见的配置方式,它们为开发者提供了高效、灵活的开发环境。本篇文章将深入探讨Spring注解和Maven的配置及其重要性。 **Spring注解** Spring注解是Spring框架...
本文将深入探讨如何通过注解(Annotation)和`@Resource`来实现自动装配,以及其背后的源码实现。 ### 一、注解驱动的自动装配 在Spring 2.5引入了注解支持后,开发者可以使用注解来声明Bean的属性、方法或构造...
在Spring框架中,注解(Annotation)自动匹配注入IoC(Inversion of Control,控制反转)是一种关键特性,它极大地简化了Java应用的配置管理。本文将深入探讨这一主题,帮助开发者更好地理解和利用这一功能。 首先...
总结来说,这个 "Spring Hibernate Annotation demo" 展示了如何在 Spring 框架中使用注解配置来管理依赖,以及如何利用 Hibernate 的注解进行数据持久化。同时,它还涉及到了 Flex 前端与后端的交互。通过学习这个 ...
### Spring Annotation 入门 #### 一、Spring 注解概述 Spring 框架自2.0 版本起引入了一系列注解支持,这极大简化了配置管理,并为开发提供了更为简洁灵活的方式。通过注解,可以将业务逻辑与配置分离,减少XML...
总结起来,"Struts2+Hibernate3.5+Spring3.0(Annotation)"的组合为Java Web开发提供了一个强大的基础架构,尤其在权限管理方面。通过合理的配置和使用注解,可以实现高效、灵活且易于维护的权限控制系统。这不仅...
### Spring使用Annotation整合DWR知识点解析 #### 一、概览 在现代Web开发中,Direct Web Remoting(简称DWR)是一种简化Ajax应用开发的技术,它允许JavaScript直接调用服务器端的Java方法,而无需编写复杂的XML...
总结,通过Spring 3和Hibernate 4的声明式事务管理,我们可以方便地在Java应用中管理事务,提高代码的可读性和可维护性。在实际开发中,合理配置和使用事务管理能够有效地避免数据不一致的问题,确保系统稳定运行。
在深入探讨Spring框架中基于注解(Annotation)的依赖注入(Dependency Injection,简称DI)实现之前,我们首先需要理解几个核心概念:Spring框架、依赖注入、以及注解本身。 ### Spring框架简介 Spring框架是一个...
总结,"spring-security-helloworld-annotation"项目是一个很好的起点,它展示了Spring Security如何通过注解实现Web应用的安全控制。通过理解和实践这个示例,开发者可以快速掌握Spring Security的基本用法,进而为...
在Spring 2.5版本后,Spring引入了注解来简化配置,这就是所谓的Annotation-based IOC。本文将深入探讨Spring注解驱动的IOC机制。 ### 1. 注解的引入 传统XML配置方式虽然灵活,但随着项目规模的扩大,XML配置文件...