Spring注入中byType和byName
1.首先,区分清楚什么是byType,什么是byName。
<bean id="userServiceImpl"
class="cn.com.bochy.service.impl.UserServiceImpl"
autowire="byName">
</bean>
<bean id="userDao"
class="cn.com.bochy.dao.impl.UserDaoImpl">
</bean>
比如说如上这段代码,byName就是通过Bean的id或者name,byType就是按Bean的Class的类型。
若autowire="byType"意思是通过 class="cn.com.bochy.dao.impl.UserDaoImpl"来查找UserDaoImpl下所有的对象。
代码autowire="byName"意思是通过id="userDao"来查找Bean中的userDao对象
在spring中@Autowired注入规则:
@Autowired默认是按照byType进行注入的,但是当byType方式找到多个符合,则又按照byName方式比对,如果还有多个,则报出异常。
参考链接:
https://blog.csdn.net/yuenbin128/article/details/80161425
https://www.cnblogs.com/RunForLove/p/5528004.html