天天看點

spring之構造器注入

 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>