【服务注入】我们在一个类中注入依赖服务的方式有两种,方式一: @Autowired ;方式二: @Resource。可能我们并没有仔细深究他们的区别在哪里或者理解有偏差,导致我们可能在启动项目时,会抛出xxBean无法被找到,于是我特别去深究了下二者的区别。
-
@Autowired注解是按照类型(byType)进行装配依赖对象 ;
-
@Resource注解是按照name(byName)进行装配依赖对象;
那么byType和 byName分别是指什么,举个简单的列子。
对照以上列子,byName就是通过Bean的id或者name,byType就是按Bean的Class的类型。
若Autowire="byType",即通过class="com.qtshe.dao.user.impl.UserDaoImpl"来查找UserDaoImpl下所有的对象;若Autowire="byName",即是通过id="userDao"来查找Bean中的userDao对象。