栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring

1.先导入依赖

        
        
            dom4j
            dom4j
            1.6.1
        

工厂类

package com.studay.factory;

import org.dom4j.document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class MyBeanFactory {
    //创建一个map集合,模拟IOC容器
    private static Map map = new HashMap();

    static{
        try{
            //使用dom4j 解析xml文件
            //第一步 :获得一个解析器
            SAXReader saxReader = new SAXReader();
            //第二步:读取外部的配置文件
            String path = "src/main/resources/applicationContext.xml";
            //第三步:读取整个文档对象
            document document = saxReader.read(path);
            //第四步:获取根节点
            Element rootElement = document.getRootElement();
            //第五步:获取根节点下的所有bean 标签对应的节点:
            List beans = rootElement.elements("bean");//bean
            //第六步 :
            for (Element bean : beans){
                //获取id属性对应的值
                String id = bean.attributevalue("id");
                //获取class属性对应的值:【全限定类名】
                String aClass = bean.attributevalue("class");
                //通过反射创建对象
                Class clz = Class.forName(aClass);
                //创建对象
                Object o = clz.newInstance();
                //存容器 id做key值,创建出来的对象为value值
                map.put(id,o);
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    
    public static Object getBean(String id){
        return  map.get(id);

    }
}

测试类

    @Test
    public void test1(){
        //1.获取ioc容器对象
        MyBeanFactory myBeanFactory = new MyBeanFactory();
        //2.从容器获取bean对象
        User user = (User)myBeanFactory.getBean("user");
        user.say();
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号