一 . 编写流程
首先使用IDEA创建一个web项目
1.下载最新的Spring开发包,(jar包)
2.复制jar包到项目工程里面(lib下面)
3.编写核心配置文件,名称比如(applicationContext.xml)
4.在程序中读取Spring配置文件,通过Spring框架获得Bean,完成相应操作
二 . 导入jar包
三 . 编写目标类
1. 首先创建接口,以及接口的实现类,比如:UserDao,UserDaoImpl
2. 获得UserDao实现类里面的实例
2.1 在之前开发中,我们是直接new一个对象即可。即:UserDao userDao = new UserDaoImpl();
2.2 在学习Spring之后,将由Spring来创建对象的实例 –> 即:IoC 控制反转(Inverse of Control)之后需要实例对象时,从Spring工厂(容器)中获得即可,需要将实现类的全限定名称(路径名)配置到xml文件中
UserDao.java
package com.chaz.dao;
public interface UserDao {
void save();
}
UserDaoImpl.java
package com.chaz.dao.impl;
import com.chaz.dao.UserDao;
/**
* 原来的编码方式写法
*/
public class UserDaoImpl implements UserDao {
@Override
public void save() {
System.out.println("原来的编码方式写法。。。");
}
}
四 . 创建编写Spring配置文件:XXX.xml
位置:任意,可以和src平级(需另外创建),也可以在src下
名称:任意,一般为applicationContext.xml
applicationContext.xml
<?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">
<!-- IOC配置入门
<bean> 配置需要创建的对象
id :唯一不可重复,用于之后从Spring容器中获得实例时使用的
name:也是唯一的,不过一般不怎么用
class :需要创建实例的全限定类名 -->
<bean id="userDao" class="com.chaz.dao.impl.UserDaoImpl2"></bean>
</beans>
五 . 测试
SpringTest.java
package com.chaz.test;
import com.chaz.dao.UserDao;
import com.chaz.dao.impl.UserDaoImpl;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
/**
* 测试类1
* IOC控制反转
*/
public class SpringTest {
/**
* 传统写法
*/
@Test
public void test01(){
UserDao userDao = new UserDaoImpl();
userDao.save();
}
/**
* Spring框架写法
*/
@Test
public void test02(){
//获得容器
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//从容器中获得内容
UserDao bean = (UserDao) applicationContext.getBean("userDao");
bean.save();
}
}
IoC(Inverse of Control)反转控制的概念,就是将原本在程序中手动创建UserDaoImpl对象的控制权,交由Spring框架管理。
简单说,就是创建UserServiceImpl对象的控制权被反转到了Spring框架。