依存注入の3つの方法

1714 ワード

1.コンストラクタの使用
 private PersonDao personDao;
 private String name;
 
 public PersonServiceImpl(PersonDao personDao,String name){
  this.personDao = personDao;
  this.name = name;
 }
<constructor-arg index="0" type="com.hx.springdemo01.dao.PersonDao" ref="personDao"/>
<constructor-arg index="1" value="stupit"/>

2.setメソッドの使用

public class UpperAction implements Action
{
private String message;
public String getMessage()
{
return message;
}
public void setMessage(String string)
{
message = string;
}
}

ここでmessageプロパティの値はプロファイルによって提供されます
<bean id="theUpperAction" class="springj2seapp.UpperAction">
<property name="message">
<value>HeLLo,UpperAction </value>
</property>
</bean>

3.fieldの使用(注記)
common-annotations.jarパッケージを追加
@Autowiredタイプ別注入@Resource名前別、後タイプ別
後者を多く押します.
まず注記:
プロファイルは基本beanを示します
<bean id="personDao" class="com.hx.springdemo01.dao.impl.PersonDaoImpl"></bean>
 
属性範囲:
注入フィールドにコメントを追加
@Resource(name="personDao") private PersonDao personDao;.

setメソッドでは、次の手順に従います.
@Resource
 public void setPersonDao(PersonDao personDao) {
  this.personDao = personDao;
 }