Spring_02 依賴注入/控制反轉、簡單的登錄實現(完整項目,及相關jar包)

簡介

依賴注入和控制反轉大致意思相同,其含義爲:當一個對象調用另一個對象時,傳統方法使用的是“ new 被調用者”,在spring中則是通過使用容器方法來創建被調用的實例,即在xml文件中創建實例。我們在編碼時只需要根據組件間的依賴關係進行組裝即可。

依賴注入的類型

使用時entity中需要有對用的構造函數 或 setter方法

1、構造方法注入
id: bean的名稱
class:需要實例化的類
name:屬性名
value:賦值

<bean id="" class="">
		<!-- 使用setter方法 依賴注入數據訪問層組件 -->
		<contructor-arg name="" value=""></property>
	</bean>

2、setter方法注入
id: bean的名稱
class:需要實例化的類
name:屬性名
value:賦值

<bean id="" class="">
		<!-- 使用setter方法 依賴注入數據訪問層組件 -->
		<property name="" value=""></property>
	</bean>

使用setter方法也可以引用之前配置過得bean(使用ref)

<bean id="userDao" class="com.sunqg.dao.imp.UserDaoImp"></bean>

	<!-- 配置創建service的實例 -->
	<bean id="userService" class="com.sunqg.service.imp.UserServiceImp">
		<!-- 使用setter方法 依賴注入數據訪問層組件 -->
		<property name="userDao" ref="userDao"></property>
	</bean>

登錄案例(主要代碼)

public class TestLogin {
	@Test
	public void main(){
		//1.加載applicationContext文件
		ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
		
		//2.通過spring獲取實例
		UserService userService = (UserService)ctx.getBean("userService");
		
		boolean flag = userService.login("admain", "123456");
		if(flag)
			System.out.print("登錄成功!");
		else
			System.out.print("登錄失敗");
	}
}

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
	
	<!-- 配置創建UserDaoImp的實例 -->
	<bean id="userDao" class="com.sunqg.dao.imp.UserDaoImp"></bean>

	<!-- 配置創建service的實例 -->
	<bean id="userService" class="com.sunqg.service.imp.UserServiceImp">
		<!-- 使用setter方法 依賴注入數據訪問層組件 -->
		<property name="userDao" ref="userDao"></property>
	</bean>
</beans>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章