1.介绍
需求:借助spring的IOC实现service层与dao层代码解耦合
步骤分析:
- 创建java项目,导入spring开发基本坐标
- 编写Dao接口和实现类
- 创建spring核心配置文件
- 在spring配置文件中配置 UserDaoImpl
- 使用spring相关API获得Bean实例
2. 实现
(1)创建java项目,导入spring开发基本坐标
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lagou</groupId>
<artifactId>spring_quickstart</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
(2)编写Dao接口和实现类
package com.lagou.dao;
public interface IUserDao {
public void save();
}
package com.lagou.dao.impl;
import com.lagou.dao.IUserDao;
import java.util.*;
public class UserDaoImpl implements IUserDao {
public void save() {
System.out.println("dao被调用了....");
}
}
(3)创建spring核心配置文件,在spring配置文件中配置 UserDaoImpl
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="userDao" class="com.lagou.dao.impl.UserDaoImpl"></bean>
</beans>
(4)使用spring相关API获得Bean实例
package com.lagou.test;
import com.lagou.dao.IUserDao;
import com.lagou.servlet.IUserService;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
public class SpringTest {
@Test
public void test1(){
// 获取到了spring上下文对象,借助上下文对象可以获取到IOC容器中的bean对象 ,加载的同时就创建了bean对象存到容器中
ApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//ApplicationContext fileSystemXmlApplicationContext = new FileSystemXmlApplicationContext("D:\\spring_code\\spring_quickstart\\src\\main\\resources\\applicationContext.xml");
// 使用上下文对象从IOC容器中获取到了bean对象
// 1.根据beanid在容器中找对应的bean对象
//IUserDao userDao = (IUserDao) classPathXmlApplicationContext.getBean("userDao");
// 2.根据类型在容器中进行查询:有可能报错的情况:根据当前类型匹配到多个实例
IUserDao userDao = classPathXmlApplicationContext.getBean("userDao",IUserDao.class);
// 调用方法
userDao.save();
}
}
3. 知识小结
Spring的开发步骤
- 导入坐标
- 创建Bean
- 创建applicationContext.xml
- 在配置文件中进行Bean配置
- 创建ApplicationContext对象,执行getBean
节选自拉钩教育JAVA系列培训教程