Spring四大注解 :@Service、@Repository、@Component、@Controller

注解含义
@Controller用来定义控制(dao)层的组件
@Service用来定义业务层(service)的组件
@Repository用来定义持久层(domain)的组件
@Component用来定义不在上述范围内的一般性组件(最普通的组件,可以被注入到spring容器进行管理)

@Controller比较好理解,加到Controller上就行了。Java web服务的项目可以用@RestController。
@Service和@Component分不太清,点进去@Service的源码,发现 @AliasFor(annotation = Component.class),@Controller和@Repository也有,可以认为@Service,@Controller和@Repository都可以作为@Component使用,只是从工程规范上区分,@Service用在XXXService上,用来标识处理业务逻辑的类,而@Component倾向于组件,比如一些Util,Filter之类的,只能保证可以被注入到spring容器进行管理。

那么创建了上面这些组件后,又是如何来注入的呢,这时就由@autowired来配置了。
只需要在private的属性上加上@autowired就可以自动把接口属性的实现类的bean注入,注意不需要setter、getter方法
上面如果一个接口属性有两个实现类,怎么办,这时就要用@qualifier来特别说明要注入哪个bean了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值