注入方式
@Autowired默认按类型注入
@Resource默认按名字注入
目录结构:一个接口Animal、两个实现类Cat、Dog
- 这里我写Dog类型 miao的名 用@Autowired注入,成功启动,并控制台打印dog eat,证明先按类型Dog注入
- 这里我同样写Dog类型,miao名,用@Resource注入,启动报错
Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'miao' is expected to be of type 'com.epawn.boot.service.impl.Dog' but was actually of type 'com.epawn.boot.service.impl.Cat'
说明先按名称注入,得到的Cat类型和Dog类型不匹配,报错。
所属
@Autowired:import org.springframework.beans.factory.annotation.Autowired;
@Resource:import javax.annotation.Resource;