一、手动注入
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,如果查找到多个的话,那么在根据名称去查找,如果找到一个符合要求的就进行注入
