體驗spring(二)---springIOC

spring IOC注入

 

   IOC 的基本概念是:不創建對象,但是描述創建它們的方式。在代碼中不直接與對象和服務連接,但在配置文件中描述哪一個組件需要哪一項服務。容器負責將這些聯繫在一起。 IoC 設計模式重點關注組件的依賴性、配置以及生命週期。 Ioc 設計模式實現了 面向接口編程,而不是實現 的原則。

IOC的三種依賴注入的方式:
第一種:setter方法注射 spring中常用的方式
public class GreetingServiceImpl implements GreetingService{
    private String name;    
	private String say;	
	public GreetingServiceImpl(String name,String say) {
	
		this.name = name;
		this.say=say;
	}
	@Override
	public void say() {
		System.out.println("I want to say"+name+"。。。。。。"+say);
	}
	public void setSay(String say) {
		this.say = say;
	}
}
<beans>
	<bean id="greetingServiceImpl" class="cn.csdn.service.GreetingServiceImpl">
		<property name="say">
			<value>你還好嗎?</value>
		</property>
	</bean>
</beans>
第二種:構造器注射
1、	根據構造器的索引注入
 public class GreetingServiceImpl implements GreetingService{
    private String name;    
	private String say;	
	public GreetingServiceImpl(String name,String say) {
	
		this.name = name;
		this.say=say;
	}
	@Override
	public void say() {
		System.out.println("I want to say"+name+"。。。。。。"+say);
	}
}
<beans>
	<bean id="greetingServiceImpl" class="cn.csdn.service.GreetingServiceImpl">
	<!-- 構造器的索引注入-->
		<constructor-arg index="0">
			<value>曉麗</value>
		</constructor-arg>
		<constructor-arg index="1">
			<value>想你了</value>
		</constructor-arg>
</bean>
</beans>
2、	根據構造器的類型
 public class GreetingServiceImpl implements GreetingService{
    private String name;    
	private String say;	
	public GreetingServiceImpl(String name,String say) {
		this.name = name;
		this.say=say;
	}
	@Override
	public void say() {
		System.out.println("I want to say"+name+"。。。。。。"+say);
	}
}
<beans>
	<bean id="greetingServiceImpl" class="cn.csdn.service.GreetingServiceImpl">
	<!-- 構造器的類型注入 -->
		<constructor-arg type="java.lang.String">
			<value>曉麗</value>
		</constructor-arg>
		<constructor-arg type="java.lang.String">
			<value>我還好</value>
		</constructor-arg></bean>
</beans>
3、通過接口注入(沒有實例)
 

 

發佈了4 篇原創文章 · 獲贊 1 · 訪問量 2385
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章