<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ~~~ package com.itheima.factory; /** * @author: hcf * @qq: 46914685 * @email: 46914685@qq.com */ import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Properties; /** * 一個創建Bean對象的工廠 * Bean:在計算機英語中,有重用組件的含義 * JavaBean:用java語言編寫的可重用組件 * javaBean 遠大于 實體類 * <p> * 它就是創建我們的service和dao對象的 * <p> * 如何創建javaBean * 1.需要一個配置文件來配置我們的service和dao * 配置的內容:唯一標識=全限定類名(key=value) * 2.通過讀取配置文件中配置的內容,反射創建對象 * <p> * <p> * 配置文件格式:可以是xml也可以properties */ public class BeanFactory { //定義一個Properties對象 private static Properties props; //定義一個Map,用于存放我們要創建的對象.我們把它稱之為容器 private static Map<String, Object> beans; //使用靜態代碼塊為Properties對象賦值 static代碼塊只運行一次,創建的對象是單例模式 static { //實例化對象 props = new Properties(); //獲取properties文件的流對象 InputStream in = BeanFactory.class.getClassLoader().getResourceAsStream("bean.properties"); try { props.load(in); //實例化容器 beans = new HashMap<String, Object>(); //取出配置文件中所有的key Enumeration keys = props.keys(); //遍歷枚舉 while (keys.hasMoreElements()){ //取出每個key String key = keys.nextElement().toString(); //根據key獲取value String beanPath = props.getProperty(key); //反射創建對象 Object value = Class.forName(beanPath).newInstance(); //把key和value存放容器中 beans.put(key,value); } } catch (Exception e) { // e.printStackTrace(); throw new ExceptionInInitializerError("初始化properties失敗!"); } } /** * 根據bean的名稱獲取bean對象 * * @param beanName * @return */ // public static Object getBean(String beanName) { // Object bean = null; // String beanPath = props.getProperty(beanName); // try { // bean = Class.forName(beanPath).newInstance();//每次都會調用默認構造函數創建對象 // } catch (Exception e) { // e.printStackTrace(); // } // return bean; // } /** * 根據bean的名稱獲取bean對象 * * @param beanName * @return */ public static Object getBean(String beanName){ return beans.get(beanName); } } ~~~ ***** ~~~ accountService=com.itheima.service.impl.AccountServiceImpl accountDao=com.itheima.dao.impl.AccountDaoImpl ~~~ ***** ~~~ package com.itheima.ui; /** * @author: hcf * @qq: 46914685 * @email: 46914685@qq.com */ import com.itheima.factory.BeanFactory; import com.itheima.service.IAccountService; import com.itheima.service.impl.AccountServiceImpl; /** * 模擬一個表現層,用于調用業務層 * * 單例,多例 */ public class Client { public static void main(String[] args) { // AccountServiceImpl accountService = new AccountServiceImpl(); for (int i = 0; i < 5; i++) { IAccountService accountService = (IAccountService) BeanFactory.getBean("accountService"); System.out.println(accountService); accountService.saveAccount(); } // accountService.saveAccount(); } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看