手工注入:
1.set注入
<bean id="user" class="com.dowebber.inject.User">
<property name="userid" value="1"></property>
<property name="password" value="pass_word"></property>
<property name="username" value="tom"></property>
</bean>
2.构造器注入
- <bean id="textPrinter" class="com.neusoft.test.spring.impl.TextPrinter">
- <constructor-arg index="0">
- <ref bean="formaterBean"/>
- </constructor-arg>
- <constructor-arg index="1" value="Test constructor" />
- </bean>
3.注解注入
一,@Autowired(默认是根据类型来到spring的配置文件中找bean) 它是由spring提供的
要用@Autowired的话,在配置文件中: <context:annotation-config/>
在相应的字段或者方法上面加上@Autowired 字段:
@Autowired private DaoBean daoBean //默认是按照类型找
//@Autowired @Qualifier("daoBea") private DaoBean daoBean
//上面是按照名字找,如果没有找到就会报错 //@Autowired(required=true) @Qualifier("daoBea") private DaoBean daoBean ; //上面的request的是说一定要注入值
或者setter方法:
private DaoBean daoBean
@Autowired
public void setDaoBean(DaoBean daoBean){//相应的setter方法 this.daoBean = daoBean }
二,@Resource(默认按照名字到配置文件中找,如果名字没有找到,就会按照类型找) 他是由j2ee提供的
要用到@Resource的话,在配置文件中:
<context:annotation-config/> 在相应的字段或者方法上面加上@Resource 字段:
@Resource private DaoBean daoBean
//按照名字找如果没找到不会在按照类型找了,报错
@Resource(name="daoBean") private DaoBean daoBean
或者setter方法:
private DaoBean daoBean
@Resource
public void setDaoBean(DaoBean daoBean){//相应的setter方法 this.daoBean = daoBean }
自动注入:
<bean id="" class="" autowrite="byType">不建议使用,因为可能产生很多的未知情况。