spring-注解详解

来源:互联网 发布:杨紫为什么土 知乎 编辑:程序博客网 时间:2024/06/08 07:36

@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定义

格式:定义在类的上方

注意:该类要被设置在注解自动扫描对应的包下

 

 

 


0 0
原创粉丝点击