1. Spring 創建對象和傳統方式(new)創建對象的區別
- 業務層調用dao層
- 傳統方式一般就是創建
userDao
接口去調用UserDaoImpl
實現類
- 使用 Spring 優勢的解耦合特點:
- 創建 xml 配置文件,把
UserDaoImpl
實現類去按全限定類名(或稱包名) 配置到 xml 文件中 - 通過 id 來標識這個類的全限定類名,根據 id標識 獲取這個包名
- Spring 框架的作用:讀取xml配置文件,從而獲得全包名幫你創建對象
- 通過 Spring 提供的客戶端調用getBean()的方法傳入id標識,而通過id標識去獲取你指定想要的對象
-
Spring要做兩件事:
- 讀取xml配置文件
- 根據傳入的id標識獲得全限定名,拿到後返回Spring框架內部,通過反射創建Bean對象,並把對象返回給調用者(userDao)
2. Spring程序開發步驟
概述:
- 導入框架用到的 jar 包,導入 Spring 用到了座標(Maven開發)
- 編寫 userDao 接口,userDaoImpl 實現類
- 創建 xml 配置文件
- 把 userDaoImpl 產生對象的包名配置到 xml 文件 當中
- 通過 Spring 客戶端getBean(id標識),返回指定的對象,這樣就是找Spring容器要對象,而不是new對象了
實現:
- 導入 Spring 開發的基本包座標
<properties>
<spring.version>5.0.5.RELEASE</spring.version>
</properties>
<dependencies>
<!--導入spring的context座標,context依賴core、beans、expression-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
或直接引入:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
</dependencies>
- 編寫
Dao接口
和實現類
package com.xdr630.dao;
public interface UserDao {
public void save();
}
package com.xdr630.dao.impl;
import com.xdr630.dao.UserDao;
public class UserDaoImpl implements UserDao {
@Override
public void save() {
System.out.println("save running......");
}
}
- 創建Spring核心配置文件
- 在類路徑下(resources)創建
applicationContext.xml
配置文件,文件名可以自定義,一般為applicationContext或beans
- 在Spring 配置文件中配置
UserDaolmpl
<bean id="userDao" class="com.xdr630.dao.impl.UserDaoImpl"></bean>
- 使用Spring的API獲得 Bean 實例
package com.xdr630.demo;
import com.xdr630.dao.UserDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserDaoDemo {
public static void main(String[] args) {
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao = (UserDao) app.getBean("userDao");
userDao.save();
}
}
3. 知識要點
- Spring的開發流程
- 導入座標
- 創建Bean
- 創建
applicationContext.xml
- 在配置文件中進行配置
- 創建
ApplicationContex
t對象getBean