开发环境 eclipse
对于初学spring的同学来说,学完之后过不了多长时间就会遗忘,特写一片博客记录一下
首先,我们要下载所需的spring jar包百度云:spring-framework-3.2.2.RELEASE-dist.zip
这里我使用的版本是3.2.2
打开我们下载的jar包,我们在lib目录下,可以看到50多个jar包,但是我们只需要四个spring基础包
1、spring-core-3.2.2.RELEASE.jar
它包含spring框架基本的核心工具,spring其他组件都要用到这个包里的类,是其他组件的核心
2、spring-beans-3.2.2.RELEASE.jar
所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行inversion of Control(Ioc)或者
Inversion of Dependency Injection(DI)操作相关的所有类
3、spring-context-3.2.2.RELEASE.jar
spring提供在基础IOC功能上的扩展服务,此外还提供许多企业级服务的支持,如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装
4、spring-expression-3.2.2.RELEASE.jar
它定义了spring的表达式语言
除了上面的4个jar包外,我们还需要依赖第三方jar包commons.logging-1.2.jar 该jar包主要用于处理日志
此jar包必不可少,否则会报错 下载地址:commons-logging-1.2-bin.zip 这里我用的是1.2版本,
把上面5个jar包复制到我们新建的项目的lib目录下
如下:
一、在项目的src目录下创建一个名称为cn.itcast.ioc的包,包中创建一个名称为UserDao的接口,该接口中只定义一个save()方法
package cn.itcast.ioc;
public interface UserDao {
public void save();
}
二、在cn.itcast.ioc包下,创建接口UserDao的实现类UserDAOImpl,如下
package cn.itcast.ioc;
public class UserDaoImpl implements UserDao {
@Override
public void save() {
System.out.println("spring:hello user dao");
}
}
该方法实现了save()方法
三、在src目录下创建applicationContext.xml 注意:该文件在src目录下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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-3.0.xsd">
<!-- 将指定的对象配置给spring,让spring创建其实例 -->
<bean id="userDao" class="cn.itcast.ioc.UserDaoImpl"></bean>
</beans>
这里的2-5行代码是spring的约束配置,第7行代码表示在spring容器中创建一个名称为userDao的bean实例,其中class属性用于指定要实例化的bean的实全限定名。
四、在cn.itcast.ioc包下,创建类TestApp,并在该类下创建一个main的方法
package cn.itcast.ioc;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestApp {
public static void main(String[] args) {
ApplicationContext apc = new ClassPathXmlApplicationContext(
"applicationContext.xml");
UserDao ud = (UserDao) apc.getBean("userDao");
ud.save();
}
}
运行程序就可以了