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