@Component | 功能:指定对应的类为Spring控制的bean 格式:定义在类的上方,可以为类指定bean名称 定义UserDAOImpl类为Spring控制的bean,未指定名称
定义UserDAOImpl类为Spring控制的bean,名称”userDAO”
bean的名称可以定义多个,如@Component(“u1,u2,u3”) |
@Component衍生注解 | @Repository 用于对数据层实现类进行标注
@Service 用于对业务逻辑层实现类进行标注 @Controller 用于对控制层实现类进行标注
目前上述三种注解与@Component功能完全相同,仅仅是名称上的区别 |
@Autowired | 功能:标注类的成员变量为自动装配注入属性 格式:定义在成员变量的上方 参数:required 可选值:true(默认值)/false 作用:标识该属性是否必须注入,如果未对其指定注入的值,则系统抛出异常 注入不同类别的属性需要使用不同的注解 简单类型:@Value 对象类型;@Qualifier
|
@Value | 功能:为属性注入的简单类型的值 格式:定义在成员变量的上方 注意:该注解与@Autowired配合使用
说明:无论何种类型,全部以字符串的形式传递值 |
@Qualifier | 功能:为属性注入的Bean类型的值 格式:定义在成员变量的上方 注意:该注解与@Autowired配合使用
@Qualifier必须给出注入的bean的名称 如果对应的bean不存在,抛出异常,注入失败 为@Autowired指定参数required=false,避免注入失败时候抛出异常 |
@Resource | Spring提供对JSR-250中定义@Resource标准注解的支持。 @Resource与@Autowired功能非常相似,用于bean的自动装配,格式略有区别
|
@Scope | 功能:为当前Bean指定scope参数,默认singleton 格式:定义在类的上方
|
@Bean | 功能:指定当前方法返回的对象为指定名称的Bean 格式:定义在方法的上方 注意:要求方法返回指定为Bean的对象 通过配置的形式Bean已经存在,但是应用上下文还不知道此处定义了Bean,因此需要对拥有上述配置的类进行说明,使JVM在加载该类时,认定该类是一个用于配置Bean的类,其中的配置是用于加载Bean的配置,使用@Configuration注解完成。 |
@Configuration(服务于自动扫描) | 功能:指定当前类为配置类,用于加载Bean定义 格式:定义在类的上方 注意:该类要被设置在注解自动扫描对应的包下
|