<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 一、概述 原來我們利用工廠來實現靈活的配置。現在利用Spring以后把這個交給了IoC容器管理。我們只要在XML文件上配上就可以了這樣的話就節省了很多開發時間我們不需要知道后面的有多少只要動態的配上類就可以了下面就給大家做一個例子 ## 二、代碼展示。 文件目錄如下圖: ![](https://box.kancloud.cn/2016-02-22_56caddfba8121.jpg) 需要引用的jar包: spring.jar Lib/log4j/log4j.jar Lib/jakarta-commons/commons-logging.jar 需要引用的文件 Log4j.properties 下面是代碼: UserDao.java ~~~ package com.bjpowernode.spring.dao; public interface UserDao { public void addUser(String userName,String password); } ~~~ UserDao4MySqlImpl.java ~~~ package com.bjpowernode.spring.dao; public class UserDao4MySqlImpl implements UserDao { public void addUser(String userName, String password) { // TODO Auto-generated method stub System.out.println("UserDao4MySqlImpl.addUser()"); } } ~~~ UserDao4OrcleImpl.java ~~~ package com.bjpowernode.spring.dao; public class UserDao4OrcleImpl implements UserDao { public void addUser(String userName, String password) { // TODO Auto-generated method stub System.out.println("UserDao4OrcleImpl.addUser()"); } } ~~~ UserManager.java ~~~ package com.bjpowernode.spring.manager; public interface UserManager { public void addUser(String userName,String password); } ~~~ UserManagerImpl.java ~~~ package com.bjpowernode.spring.manager; import com.bjpowernode.spring.dao.UserDao; public class UserManagerImpl implements UserManager{ private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; } // public UserManagerImpl(UserDao userDao) { // // this.userDao = userDao; // } public void addUser(String userName, String password) { // TODO Auto-generated method stub // //由我們的應用程序負責服務定位 // UserDao userDao=new UserDao4MySqlImpl(); userDao.addUser(userName, password); } } ~~~ Client.java ~~~ package com.bjpowernode.spring.client; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.bjpowernode.spring.dao.UserDao4MySqlImpl; import com.bjpowernode.spring.manager.UserManager; import com.bjpowernode.spring.manager.UserManagerImpl; public class Client { /** * @param args */ public static void main(String[] args) { BeanFactory factory=new ClassPathXmlApplicationContext("applicationContext.xml"); UserManager userManager=(UserManager) factory.getBean("userManager"); userManager.addUser("張三", "123"); // // TODO Auto-generated method stub // UserManager userManager=new UserManagerImpl(new UserDao4MySqlImpl()); // userManager.addUser("張三", "1231"); } } ~~~ applicationContext.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" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <bean id="userDao4MySql" class="com.bjpowernode.spring.dao.UserDao4MySqlImpl"/> <bean id="userDao4Orcle" class="com.bjpowernode.spring.dao.UserDao4OrcleImpl"/> <bean id="userManager" class="com.bjpowernode.spring.manager.UserManagerImpl"> <!-- <constructor-arg ref="userDao4MySql" /> --> <property name="userDao" ref="userDao4MySql"/> </bean> </beans> ~~~ 運行結果: ![](https://box.kancloud.cn/2016-02-22_56caddfbbbb6d.jpg) ## 三、比較 與原來用工廠寫的區別就在于UserManagerImpl.java和Client.java這兩個類的寫法不一樣原來這兩個類這樣寫 UserManagerImpl.java ~~~ package com.bjpowernode.spring.manager; import com.bjpowernode.spring.dao.UserDao; import com.bjpowernode.spring.dao.UserDao4MySqlImpl; public class UserManagerImpl implements UserManager{ public void addUser(String userName, String password) { // TODO Auto-generated method stub //由我們的應用程序負責服務定位 UserDao userDao=new UserDao4MySqlImpl(); userDao.addUser(userName, password); } } ~~~ Client.java ~~~ package com.bjpowernode.spring.client; import com.bjpowernode.spring.manager.UserManager; import com.bjpowernode.spring.manager.UserManagerImpl; public class Client { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub UserManager userManager=new UserManagerImpl(); userManager.addUser("張三", "1231"); } } ~~~ ## 四、總結 Spring給我們帶來了很大的便利這樣讓我們開發的時候對象與對象之間進行了解耦。讓我們維護起來更加方便,當需求修改的時候我們只要修改一下配置文件,添加對象就可以了不用修改寫好的代碼。
                  <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>

                              哎呀哎呀视频在线观看