实验一:Spring IOC基本操作
实验目的:
1.掌握spring框架的搭建与配置
2.理解Spring中的IoC和DI思想
3.掌握ApplicationContext容器的使用
4.掌握属性setter方法注入的实现
实验类型:
验证性
实验内容:
实验任务1:
在idea中创建一个名为spring的项目,将Spring的xml文件配置更新。下载jar包
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
</beans>
实验任务2:配置spring框架文件
在src目录下,创建spring的配置文件applicationContext.xml,并在配置文件中创建一个id为userDao的Bean。参考代码如下:
<bean id="userDao" class="com.hxci.ioc.UserDaoImpl">
</bean>
实验任务3:创建UserDao接口
在src目录下,创建一个com.hxci.ioc包,并在包中创建接口UserDao,然后在接口定义一个say()方法,参考代码如下:
public interface UserDao {
public void say();
}
实验任务4:创建接口实现类UserDaoImpl
在com.hxci.ioc包下,创建UserDao接口的实现类UserDaoImpl,该类需要实现接口中的say()方法,并在方法中编写一条输出语句;
public class UserDaoImpl implements UserDao {
@Override
public void say() {
System.out.println("userDao say hello World!");
}
}
实验任务5:创建IOC测试类
在com.hxci.ioc包下,创建测试类TestIOC,并在类中编写main()方法,在main()方法中,需要初始化Spring容器,并加载配置文件,然后通过Spring容器获取UserDao实例,就是Java对象,最后调用实例中的say()方法,关键代码如下:
public class TestIoC {
public static void main(String[] args){
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("spring.xml");
UserDao userDao=(UserDao)applicationContext.getBean("userDao");
userDao.say();
}
}
上述实验已经完成一半,可以右键运行一下查看是否有错误:
运行结果如图:
实验任务6:创建service接口
在com.hxci.ioc包中,创建接口UserService,在接口中编写一个say()方法,
public interface UserService {
public void say();
}
实验任务7:创建接口实现类UserServiceImpl
在com.hxci.ioc包中创建UserService接口的实现类UserServiceImpl,在类中声明userDao属性,并添加属性的setter方法。
public class UserServiceImpl implements UserService{
private UserDao userDao;
public void setUserDao(UserDao userDao){
this.userDao=userDao;
}
public void say(){
this.userDao.say();
System.out.println("userService say hello World!");
}
}
实验任务8:修改xml文件配置
在配置文件中创建一个id为userService的Bean,该Bean用于实例化UserServiceImpl类的信息,并将UserDao的实例注入到userService中。
<bean id="userService" class="com.hxci.ioc.UserServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>
实验任务9:创建DI测试类
在com.hxci.ioc包中,创建测试类TestDI,来对程序进行测试。
public class TestDI {
public static void main(String[] args){
ApplicationContext applicaitonContext=new ClassPathXmlApplicationContext("spring.xml");
UserService userService=(UserService)applicaitonContext.getBean("userService");
userService.say();
}
}
上述就是这个实验的全部代码。
总结:本次实验主要讲述了如何在spring中创建bean,并且为他赋值。一种时直接value方式赋值,一种是用ref引用配置文件中的bean,进行赋值。