1. 程式人生 > >Spring入門&IOC

Spring入門&IOC

1、Spring入門

1.1 下載spring的開發包

官網:http://spring.io/

1.2 解壓縮spring的壓縮包

spring的解壓縮包

  • docs :Spring的開發規範和API
  • libs :Spring的開發的jar和原始碼
  • schema :Spring的配置檔案的約束

2、IOC

2.1 什麼是IOC

  • IOC: Inversion of Control(控制反轉)。
    • 控制反轉:將物件的建立權反轉給(交給)Spring。

2.2 傳統方式

2.2.1 傳統實現

介面

public
interface UserDao{ public void save() }

實現類

public class UserDaoImpl implements UserDao{
	public void save(){
		System.out.println("執行了儲存操作");
	}
}

測試類

public class SpringDemo1{
	public void Demo1(){
		UserService userDao = new UserDaoImpl();
		userservice.save();
	}
}
2.2.2 出現的問題

如果底層的實現切換了,需要修改原始碼,能不能不修改程式原始碼對程式進行擴充套件?

2.3 Spring方式實現

2.3.1 將實現類交由spring進行管理
<?xml version="1.0" encoding="UTF-8"?>
<beans 
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:p="http://www.springframework.org/schema/p"
    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"
>
<!-- Spring的入門的配置==================== --> <bean name="userDAO" class="com.xu.spring.demo1.UserDAOImpl" > </beans>
2.3.2 編寫測試類
public void demo2(){
	//建立spring的工廠
	ApplicationContext applicationContext = new ClassPathXmlApplication("applicationContext.xml");
	UserDao userDao = (UserDao)applicationContext.getBean("userDao");
	userDao.save();
}