初次接触SpringBoot中的注解,原理不太懂,只能各种情况都试了一遍,以下是结果:
注解:
@Service
public class BabyUrlMappingServiceImpl implements BabyUrlMappingService
注入方式1:
@Resource
private BabyUrlMappingServiceImpl babyUrlMappingService
结果:成功注入
注入方式2:
@Resource
private BabyUrlMappingService babyUrlMappingService
结果:成功注入
注入方式3:
@Resource
private BabyUrlMappingServiceImpl babyUrlMappingServiceImpl
结果:成功注入
注入方式4:
@Resource
private BabyUrlMappingService babyUrlMappingServiceImpl;
结果:成功注入
注入方式5:
@Resource(name = "babyUrlMappingServiceImpl")
private BabyUrlMappingService babyUrlMappingService;
结果:成功注入
注入方式6:
@Resource(name = "babyUrlMappingService")
private BabyUrlMappingService babyUrlMappingService;
结果:注入失败
由此,我们得到如下结论:
1.bean的默认名字是首字母小写的类名,例如:babyUrlMappingServiceImpl
2.注入时bean的类型既可以用类名,也可以用接口名,
原因在于: 注入bean相当于实例化一个对象,所以使用类名肯定是可以的
另外使用接口注入相当于 BabyUrlMappingService babyUrlMappingService = new BabyUrlMappingServiceImpl();
等以后有时间探究一下原理。
如果你有想法和观点,欢迎在下方留言。