2、Spring常用注解

注:如果注解只有一个属性时,value可以不写,直接在括号里面写值
Component、Controller、Service、Repository:这四个注解的作用是创建bean,将产生的对象存入到spring容器中

Autowired、Qualifiler、Resource是给变量赋值的,且是其他类型的bean对象

@Component(value="")
创建对象的注解,把当前对象存入spring容器中,有一个value属性,默认是类名称,首字母小写
@Controller(value="")    一般用于表现层
@Service(value="")    一般用于业务层
@Repository(value="")    一般用于持久层

这三个注解和Component注解作用相同,都是用于创建对象,将对象存入spring容器。这三个注解是spring框架为我们提供明确的三层注解,是我们的三层架构更加清晰

@Autowried
按照类型进行注入

只要容器中有唯一的一个bean对象和要注入的变量类型匹配就可以注入成功,然后将匹配到的bean对象复制给这个变量。如果ioc容器中没有任何bean的类型和注入变量的类型匹配,就会报错。
出现位置:可以是变量上也可以是方法上,下图中的key即为注解的value值
在这里插入图片描述
如果容器中有多个bean对象和注入类型匹配,会线根据类型去圈定范围,然后根据变量名称去匹配value的值,即下图中的key。
在这里插入图片描述

@Qualifier(value="")
作用:按照类型进行注入的基础之上再按照名称进行注入

在给类成员注入时不能单独使用,但是给方法参数注入时可以单独使用。
注:给类成员注入时,必须和Autowired组合一起使用
在这里插入图片描述
给方法参数注入时,有多个是实例化对象时。
在这里插入图片描述

@Resource(name="")
作用:直接按照bean的id进行注入

属性值使用name=""用于指定bean的id
Autowire、Qualifier、Resource都只能注入其他bean类型的数据,基本数据类型和String类型无法通过上述注解实现。集合类型的注入只能通过xml的方式来实现

@Value(value="")
作用:注入基本数据类型和String类型,可以使用sprin的el表达式("${}")
属性:value=""指定数据的值
@Scope(value="")
作用:指定bean的作用范围,不写默认是单例的
属性:指定取值范围,value="",singleton(单例),prototype(多例)
@PreDestory
作用:用于指定初始化方法
@PostConstruct
作用:用于指定销毁方法,多例对象无法销毁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值