一、手动注入
1、setter 方式注入
<bean id="userService" class="org.wesoft.spring.constructor.bean.UserService">
<property name="testService" ref="testService" />
</bean>
2、构造方法注入
<bean id="userService" class="org.wesoft.spring.constructor.bean.UserService">
<constructor-arg index="0" ref="testService" />
</bean>
二、自动注入
1、XML 自动注入
autowire 属性中有:byType,byName,constructor,default,no
<bean id="userService" class="org.wesoft.spring.constructor.bean.UserService" autowire="byType">
</bean>
byType
:根据 setter 方法的中参数的类型,来寻找要注入的 bean,赋值给方法参数byName
:根据 setter 方法的名称,去掉前缀 set 后,取后面的名称,来寻找要注入的 bean,赋值给方法参数constructor
:推断构造方法default
:使用 XML beans 的标签中的自动注入方式来进行注入no
:不进行自动注入
2、使用注解
@Autowired
:可用在方法(包括 setter 方法),构造函数、属性上,是 byType 再 byName 来进行注入的,也就是说,先根据类型查找 bean,如果查找到多个的话,那么在根据名称去查找,如果找到一个符合要求的就进行注入