zoukankan      html  css  js  c++  java
  • (十六)解耦合

    导入xml解析的jar包

      http://pan.baidu.com/s/1dFap53j

    /store/src/beans.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans>
        <bean id="CategoryService" class="com.louis.service.impl.CategoryServiceImpl"></bean>
        <bean id="ProductService" class="com.louis.service.impl.ProductServiceImpl"></bean>
        <bean id="UserService" class="com.louis.service.impl.UserServiceImpl"></bean>
    
       <bean id="ProductDao" class="com.louis.dao.impl.ProductDaoImpl"/>
       <bean id="UserDao" class="com.louis.dao.impl.UserDaoImpl"/>
       <bean id="CategoryDao" class="com.louis.dao.impl.CategoryDaoImpl"/>
    </beans>

    com.louis.utils.BeanFactory

    package com.louis.utils;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    public class BeanFactory {
        public static Object getBean(String id) {
            //通过id获取一个指定的实现类
            //1、导入jar包
            
            
            try {
                //2、获取document对象
                Document document = new SAXReader().read(BeanFactory.class.getClassLoader().getResourceAsStream("beans.xml"));
            
                //3、获取指定的bean对象
                Element element = (Element) document.selectSingleNode("//bean[@id='"+id+"']");
                //4、获取bean对象的class属性
                String value = element.attributeValue("class");
                //5、反射
                return Class.forName(value).newInstance();
                
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            return null;
        }
    }

    com.louis.web.servlet.CategoryServlet使用

        CategoryService categoryService = (CategoryService) BeanFactory.getBean("CategoryService");

    问题

    java工程项目路径的获取

    java工程编译路径

    javaweb工程项目路径的获取

    javaweb工程编译路径

  • 相关阅读:
    iOS.CM5.CM4.CM2
    iOS.Library.Architecture
    iOS.Info.plist
    iOS.ARM-Assembly
    Tools.Png.Compression
    MacDev.GetArchOfLibrary
    iOS.C
    iOS.Notification.Bar.Color
    iOS.-.cxx_destruct
    iOS.UITableView.SectionIndex
  • 原文地址:https://www.cnblogs.com/Michael2397/p/7659244.html
Copyright © 2011-2022 走看看