使用Spring根据配置文件自动创建对象.
本节案例项目结构图:
UserAction:
package yzr.action;
import yzr.service.UserService;
public class UserAction {
private UserService userService=null;
//属性注入
public void setUserService(UserService service){
userService=service;
}
public String execute() throws Exception{
userService.run();
System.out.println("UserAction执行execute");
return "success";
}
}
UserService:
package yzr.service;
import yzr.dao.UserDao;
public class UserService {
private UserDao userDao=null;
public void setUserDao(UserDao userdao){
userDao=userdao;
}
public void run(){
userDao.run();
System.out.println("Service执行Run");
}
}
UserDao:
package yzr.dao;
public class UserDao {
public void run(){
System.out.println("UserDao执行Run;");
}
}
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"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
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.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<bean name="UserDao" class="yzr.dao.UserDao" ></bean>
<bean name="UserService" class="yzr.service.UserService" >
<property name="userDao" ref="UserDao"></property>
</bean>
<bean name="UserAction" class="yzr.action.UserAction" >
<property name="userService" ref="UserService"></property>
</bean>
</beans>
测试:
package yzr.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.Resource;
import yzr.action.UserAction;
public class app {
String path="ApplicationContext.xml";
@Test
public void test() throws Exception{
ClassPathXmlApplicationContext ac=new ClassPathXmlApplicationContext(path);
System.out.println("加载配置文件完成");
UserAction action=(UserAction) ac.getBean("UserAction");
action.execute();
action =null;
action=ac.getBean(UserAction.class);
action.execute();
}
}