spring中的依賴注入一般以set/get方法為多,但有些情況下需要構造器注入,也就是類構造器有參數的情況下 ,以下為一個demo
一 類檔案代碼
package chainofresponsibility;
/**
* 處理不大于Trouble裡面存放數字的類
* @author fengyue
*
*/
public class LimitProcessor extends Processor {
private Integer limit;
private LimitProcessor(String name) {
super(name);
// TODO Auto-generated constructor stub
}
public LimitProcessor(String name,Integer limit) {
this(name);
this.limit=limit;
// TODO Auto-generated constructor stub
}
/**
* 如果Trouble裡面存放數字不大于limit則為可以處理
*/
protected boolean isCanProcess(Trouble t) {
return t.getNumber().compareTo(limit)!=1;
}
protected ProcessResult resolve(Trouble t) {
return new ProcessResult(true,getSuccessMess(t));
}
}
2對應Spring配置檔案
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="limitPro" class="chainofresponsibility.LimitProcessor">
<constructor-arg type="java.lang.String" value="LimitProcessor">
</constructor-arg>
<constructor-arg type="java.lang.Integer" value="26">
</constructor-arg>
</bean>
</beans>