1.添加jar包
需要到下载好的spring里的libs寻找基础的四个包,beans,context,core,expression(或许有别的更方便的方法),还有第三方依赖包commons-logging
2.创建applicationContext.xml文件,写好框架,
<?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.xsd
">(这个根据情况需要写的内容不同,不知道有什么方法可以更方便得写这些信息,没在Libraries里找到模板)
</beans>
3.编写UserDao接口和其实现类UserDaoImpl
public interface UserDao {
public void save();
}
public class UserDaoImpl implements UserDao {
@Override
public void save() {
// TODO Auto-generated method stub
System.out.println("call save method");
}
}
4.编写UserService接口和其实现类UserServiceImpl
public interface UserService {
public void addUser();
}
public class UserServiceImpl implements UserService {
private UserDao userdao;
//用于给Spring容器进行依赖注入的方法(setter注入方式)
public void setUserDao(UserDao userdao) {
this.userdao = userdao;
}
@Override
public void addUser() {
// TODO Auto-generated method stub
this.userdao.save();
System.out.println("call addUser method");
}
}
5.在applicationContext里进行配置
<bean id="userDao" class="book.c12.ioc.UserDaoImpl"></bean>
<bean id="userService" class="book.c12.ioc.UserServiceImpl">
<property name="userDao" ref="userDao" />
</bean>
6.编写测试类
public class TestApp {
public void demo01(){
String xmlPath="applicationContext.xml";
ApplicationContext applicationContext=new ClassPathXmlApplicationContext(xmlPath);
UserDao userDao=(UserDao)applicationContext.getBean("userDao");
userDao.save();
}
@Test
public void demo02(){
String xmlPath="applicationContext.xml";
ApplicationContext applicationContext=new ClassPathXmlApplicationContext(xmlPath);
UserService userService=(UserService)applicationContext.getBean("userService");
userService.addUser();
}
}
运行,结果:
xml文件找不到,原因是String xmlPath="applicationContext.xml";此句里的applicationContext拼错,写成了appliactionContext
修改后,
userDao没能被注入,原因: public void setUserDao(UserDao userdao)写成了public void setUserdao(UserDao userdao)
修改后,运行成功。