<property name="name">张三</property>
<property name="pass">123</property>
</bean>
<!-- 接口的实现类也是在 spring 中管理 对象的属性通过 id='User'引
用-->
<bean id="UserDaoImpByMySql"
class="com.softeem.daoimp.UserDaoImpByMySql">
<property name="user" ref="User"></property>
</bean>
<!--UserDaoImpByOracle 中没有对象属性 -->
<bean id="UserDaoImpByOracle"
class="com.softeem.daoimp.UserDaoImpByOracle">
<property name="user" ref="User"></property>
</bean>
<!--service 层也交给 spring 去管理 -->
<bean id="UserService"
class="com.softeem.Service.UserService">
<property name="udao"
ref="UserDaoImpByMySql"></property>
</bean>
</beans>
1-3 解析 Spring 配置文件
private Map<String, Object> beans = new
HashMap<String, Object>();
public ClassPathXmlApplicationContext(String file){
try {
//创建解析工具
SAXReader reader = new SAXReader();
//读取文件最大的节点
Document doc = reader.read(new File(file));
//寻找根节点放进集合
List<Node> nodes =
doc.selectNodes( "beans/bean" ) ;
for(Node n:nodes){
String key = n.valueOf("@id");
String classPath = n.valueOf("@class");
Class clz = Class.forName(classPath);
Object obj = clz.newInstance();
beans.put(key, obj);
//获取当前节点下的子节点
List<Node> list = n.selectNodes( "property" ) ;
for(Node node:list){