spring基于xml的对象创建
首先是配置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">
<!--把对象的创建交给spring来管理-->
<bean id="user" class="com.User"></bean>
<bean id="manager" class="com.Manager"></bean>
</beans>
id 与 class 其实就是 key与value
而获取对象的过程非常简单
//1.传入xml文件,得到核心容器对象
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
//2.根据id获取Bean对象的两种方法(使用默认构造器)
User user = (User)ac.getBean("user");
Manager manager = ac.getBean("accountDao",Manager.class);
当然,到这里依旧有非常多的问题需要处理
设想一下:如果你在Manager类中定义了一个方法,这个方法的返回值是一个User对象,即通过Manager创建User。那么就应该使用如下配置:
<bean id="Manager" class="com.Manager"></bean>
<bean id="User" factory-bean="Manager"
factory-method="getUser"></bean>
如果getUser是一个静态方法的话,那应该配置如下:
<bean id="User" class="com.Manager" factory-method="getUser"></bean>