<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    1.setter注入:
    beans.xml:
    <?xml version="1.0" encoding="UTF-8"?>

    <!--
      - Application context definition for JPetStore's business layer.
      - Contains bean references to the transaction manager and to the DAOs in
      - dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation").
      
    -->
    <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.5.xsd
                http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
    >
        
        
    <bean name="userDao" class="com.linying.dao.UserDao"></bean>
        
        
    <bean name="userDomain" class="com.linying.domain.User"></bean>
        
        
    <bean name="userAction" class="com.linying.service.UserAction">
            
    <property name="user" ref="userDomain"></property>
            
    <property name="userDao" ref="userDao"></property> 
       
        
    </bean>    
        
    </beans>

    User.java:
    package com.linying.domain;

    /**
     * 領域?qū)ο?br />  * 
     * 
    @author Ying-er
     * @time 2010-6-20 上午10:01:05
     * @mail melody.crazycoding@gmail.com
     * 
    @version 1.00
     
    */
    public class User {
        
    private int id;

        
    private String name;

        
    private String password;

        
    public User() {
            System.out.println(
    "User構(gòu)造");
        }

        
    public String getName() {
            
    return name;
        }

        
    public void setName(String name) {
            
    this.name = name;
        }

        
    public String getPassword() {
            
    return password;
        }

        
    public void setPassword(String password) {
            
    this.password = password;
        }

        
    public int getId() {
            
    return id;
        }

        
    public void setId(int id) {
            
    this.id = id;
        }
    }

    UserDao.java:
    package com.linying.dao;

    import com.linying.domain.User;

    /**
     * UserDao
     * 
     * 
    @author Ying-er
     * @time 2010-6-20 上午10:17:55
     * @mail melody.crazycoding@gmail.com
     * 
    @version 1.00
     
    */
    public class UserDao {
        
    public UserDao() {
            System.out.println(
    "UserDao構(gòu)造");
        }

        
    public void insert(User user) {
            System.out.println(
    "執(zhí)行insert方法");
        }
    }

    UserAction.java:
    package com.linying.service;

    import com.linying.dao.UserDao;
    import com.linying.domain.User;

    /**
     * UserAction
     * 
     * 
    @author Ying-er
     * @time 2010-6-20 上午10:28:16
     * @mail melody.crazycoding@gmail.com
     * 
    @version 1.00
     
    */
    public class UserAction {
        
    private User user;

        
    private UserDao userDao;

        
    public UserAction() {
            System.out.println(
    "UserAction構(gòu)造");
        }

        
    /**
         * 保存User對象
         * 
         
    */
        
    public void saveUser() {
            userDao.insert(user);
            System.out.println(
    "saveUser方法被調(diào)用");
        }

        
    public void setUser(User user) {
            
    this.user = user;
            System.out.println(
    "setUser方法被調(diào)用");
        }

        
    public void setUserDao(UserDao userDao) {
            
    this.userDao = userDao;
            System.out.println(
    "setUserDao方法被調(diào)用");
        }


    }

    測試——Main.java:
    package com.linying;

    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    import com.linying.service.UserAction;

    /**
     * 測試程序入口
     * 
     * 
    @author Ying-er
     * @time 2010-6-20 上午11:20:24
     * @mail melody.crazycoding@gmail.com
     * 
    @version 1.00
     
    */
    public class Main {

        
    /**
         * 
    @param args
         
    */
        
    public static void main(String[] args) {
            
    // TODO Auto-generated method stub
            BeanFactory bf = (BeanFactory) (new ClassPathXmlApplicationContext(
                    
    "beans.xml"));

            UserAction userAction 
    = (UserAction) bf.getBean("userAction");
            userAction.saveUser();

        }

    }

    控制臺輸出:
    UserDao構(gòu)造
    User構(gòu)造
    UserAction構(gòu)造
    setUser方法被調(diào)用
    setUserDao方法被調(diào)用
    執(zhí)行insert方法
    saveUser方法被調(diào)用

    2.靜態(tài)工廠注入
    修改beans.xml:
        <bean name="userDao" class="com.linying.factory.DaoFactory" factory-method="getUserDao"></bean>
        
        
    <bean name="userDomain" class="com.linying.domain.User"></bean>
        
        
    <bean name="userAction" class="com.linying.service.UserAction">
            
    <property name="user" ref="userDomain"></property>
            
    <property name="userDao" ref="userDao"></property>    
        
    </bean>

    增加工廠:
    package com.linying.factory;

    import com.linying.dao.UserDao;
    /**
     * Dao靜態(tài)工廠
     * 
    @author Ying-er
     * @time 2010-6-20 下午04:23:25
     * @mail melody.crazycoding@gmail.com
     * 
    @version 1.00
     
    */
    public class DaoFactory {
        
    public static UserDao getUserDao(){
            
    return new UserDao();
        }
    }

    控制臺輸出:
    UserDao構(gòu)造
    User構(gòu)造
    UserAction構(gòu)造
    setUser方法被調(diào)用
    setUserDao方法被調(diào)用
    執(zhí)行insert方法
    saveUser方法被調(diào)用

    3.實例工廠注入
    修改beans.xml:
        <bean name="daoFactory" class="com.linying.factory.DaoFactory"></bean>
        
        
    <bean name="userDao" factory-bean="daoFactory" factory-method="getUserDao"></bean>
        
        
    <bean name="userDomain" class="com.linying.domain.User"></bean>
        
        
    <bean name="userAction" class="com.linying.service.UserAction">
            
    <property name="user" ref="userDomain"></property>
            
    <property name="userDao" ref="userDao"></property>    
        
    </bean>

    增加實例工廠:
    package com.linying.factory;

    import com.linying.dao.UserDao;
    /**
     * Dao實例工廠
     * 
    @author Ying-er
     * @time 2010-6-20 下午04:23:25
     * @mail melody.crazycoding@gmail.com
     * 
    @version 1.00
     
    */
    public class DaoFactory {
        
    public UserDao getUserDao(){
            
    return new UserDao();
        }
    }

    控制臺輸出:
    UserDao構(gòu)造
    User構(gòu)造
    UserAction構(gòu)造
    setUser方法被調(diào)用
    setUserDao方法被調(diào)用
    執(zhí)行insert方法
    saveUser方法被調(diào)用

    4.構(gòu)造器注入
    修改beans.xml:
        <bean name="userDao" class="com.linying.dao.UserDao"></bean>
        
        
    <bean name="userDomain" class="com.linying.domain.User"></bean>
        
        
    <bean name="userAction" class="com.linying.service.UserAction">
            
    <constructor-arg ref="userDomain"></constructor-arg>
            
    <constructor-arg ref="userDao"></constructor-arg> 
       
        
    </bean>   
    修改UserAction.java:
    package com.linying.service;

    import com.linying.dao.UserDao;
    import com.linying.domain.User;

    /**
     * UserAction
     * 
     * 
    @author Ying-er
     * @time 2010-6-20 上午10:28:16
     * @mail melody.crazycoding@gmail.com
     * 
    @version 1.00
     
    */
    public class UserAction {
        
    private User user;

        
    private UserDao userDao;

        
    public UserAction() {
            System.out.println(
    "UserAction構(gòu)造");
        }

        
    public UserAction(User user,UserDao userDao){
            System.out.println(
    "UserAction構(gòu)造(有參構(gòu)造)");
            
    this.user = user;
            
    this.userDao = userDao;
        }

        
    /**
         * 保存User對象
         * 
         
    */
        
    public void saveUser() {
            userDao.insert(user);
            System.out.println(
    "saveUser方法被調(diào)用");
        }

    //    public void setUser(User user) {
    //        this.user = user;
    //        System.out.println("setUser方法被調(diào)用");
    //    }
    //
    //    public void setUserDao(UserDao userDao) {
    //        this.userDao = userDao;
    //        System.out.println("setUserDao方法被調(diào)用");
    //    }

    }

    控制臺輸出:
    UserDao構(gòu)造
    User構(gòu)造
    UserAction構(gòu)造(有參構(gòu)造)
    執(zhí)行insert方法
    saveUser方法被調(diào)用

    5.集合注入
    beans.xml:
        <bean name="daoFactory" class="com.linying.factory.DaoFactory"></bean>

        
    <bean name="userDao" factory-bean="daoFactory"
            factory-method
    ="getUserDao">
        
    </bean>

        
    <bean name="userDomain" class="com.linying.domain.User">
            
    <property name="id">
                
    <value>1</value>
            
    </property>
            
    <property name="name" value="admin"></property>
            
    <property name="password" value="123"></property>
            
    <!--property name="birthday" value="1987-06-20"></property>-->
            
    <property name="listDemo">
                <list>
                    
    <value>list-1</value>
                    
    <value>list-2</value>
                
    </list>

            
    </property>
            
    <property name="setDemo">
                <set>
                    
    <value>set-1</value>
                    
    <value>set-2</value>
                
    </set>

            
    </property>
            
    <property name="mapDemo">
                <map>
                    
    <entry key="k1" value="v1"></entry>
                    
    <entry key="k2" value="v2"></entry>
                
    </map>

            
    </property>
        
    </bean>

        
    <bean name="userAction" class="com.linying.service.UserAction">
            
    <property name="user" ref="userDomain"></property>
            
    <property name="userDao" ref="userDao"></property>
        
    </bean>

    User.java:
    package com.linying.domain;

    import java.util.Date;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;

    /**
     * 領域?qū)ο?br />  * 
     * 
    @author Ying-er
     * @time 2010-6-20 上午10:01:05
     * @mail melody.crazycoding@gmail.com
     * 
    @version 1.00
     
    */
    public class User {
        
    private int id;

        
    private String name;

        
    private String password;

        
    private Date birthday;

        private List<String> listDemo;

        
    private Set<String> setDemo;

        
    private Map<String, String> mapDemo;


        
    public User() {
            System.out.println(
    "User構(gòu)造");
        }

        
    public String getName() {
            
    return name;
        }

        
    public void setName(String name) {
            
    this.name = name;
        }

        
    public String getPassword() {
            
    return password;
        }

        
    public void setPassword(String password) {
            
    this.password = password;
        }

        
    public int getId() {
            
    return id;
        }

        
    public void setId(int id) {
            
    this.id = id;
        }

        
    public Date getBirthday() {
            
    return birthday;
        }

        
    public void setBirthday(Date birthday) {
            
    this.birthday = birthday;
        }

        
    public List<String> getListDemo() {
            
    return listDemo;
        }

        
    public void setListDemo(List<String> listDemo) {
            
    this.listDemo = listDemo;
        }

        
    public Map<String, String> getMapDemo() {
            
    return mapDemo;
        }

        
    public void setMapDemo(Map<String, String> mapDemo) {
            
    this.mapDemo = mapDemo;
        }

        
    public Set<String> getSetDemo() {
            
    return setDemo;
        }

        
    public void setSetDemo(Set<String> setDemo) {
            
    this.setDemo = setDemo;
        }

    }

    Main.java:
    package com.linying;

    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    import com.linying.service.UserAction;

    /**
     * 測試程序入口
     * 
     * 
    @author Ying-er
     * @time 2010-6-20 上午11:20:24
     * @mail melody.crazycoding@gmail.com
     * 
    @version 1.00
     
    */
    public class Main {

        
    /**
         * 
    @param args
         
    */
        
    public static void main(String[] args) {
            
    // TODO Auto-generated method stub
            BeanFactory bf = (BeanFactory) (new ClassPathXmlApplicationContext(
                    
    "beans.xml"));

            UserAction userAction 
    = (UserAction) bf.getBean("userAction");
            System.out.println(userAction.getUser().getId());
            System.out.println(userAction.getUser().getName());
            System.out.println(userAction.getUser().getPassword());
    //        System.out.println(userAction.getUser().getBirthday());
            System.out.println(userAction.getUser().getListDemo());
            System.out.println(userAction.getUser().getSetDemo());
            System.out.println(userAction.getUser().getMapDemo());
        }
    }

    控制臺輸出:
    UserDao構(gòu)造
    User構(gòu)造
    UserAction構(gòu)造
    setUser方法被調(diào)用
    setUserDao方法被調(diào)用
    1
    admin
    123
    [list-1, list-2]
    [set-1, set-2]
    {k1=v1, k2=v2}





    posted on 2010-06-20 20:26 Ying-er 閱讀(4111) 評論(3)  編輯  收藏 所屬分類: SSH

    評論:
    # re: Spring的注入方法小結(jié) 2010-06-22 10:35 | 愛之谷
    UserDao構(gòu)造
    User構(gòu)造
    UserAction構(gòu)造
    setUser方法被調(diào)用
    setUserDao方法被調(diào)用  回復  更多評論
      
    # re: Spring的注入方法小結(jié) 2010-06-22 20:21 | Ying-er
    @愛之谷
    啥意思?  回復  更多評論
      
    # re: Spring的注入方法小結(jié)[未登錄] 2010-06-24 08:41 | snail
    注入方式還挺多的啊!  回復  更多評論
      
    主站蜘蛛池模板: 亚洲不卡中文字幕| 免费在线观看你懂的| 亚洲中文久久精品无码ww16| 国产精品久久久久久亚洲小说| 在线观看日本免费a∨视频| 337p欧洲亚洲大胆艺术| 男的把j放进女人下面视频免费| 亚洲国产另类久久久精品小说| 男女一进一出抽搐免费视频| 国产成人综合亚洲亚洲国产第一页 | 亚洲午夜视频在线观看| 日韩精品无码一区二区三区免费| 日韩亚洲一区二区三区| 亚洲精品免费观看| 亚洲av永久无码精品三区在线4| 欧美在线看片A免费观看| 精品国产日韩亚洲一区91| 伊在人亚洲香蕉精品区麻豆| 国产高潮流白浆喷水免费A片 | 亚洲中文字幕无码久久2017| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 在线观看AV片永久免费| 亚洲第一综合天堂另类专| 亚洲AV无码乱码在线观看牲色| 成人免费777777被爆出| 亚洲最大的成网4438| 天天摸天天碰成人免费视频| 污视频网站在线免费看| 亚洲av无码专区在线播放| 波多野结衣免费在线观看| 国产成人不卡亚洲精品91| 亚洲精品无码成人片久久| 日本免费网站视频www区| 国产亚洲视频在线观看网址 | 亚洲成A人片在线观看无码不卡| **aaaaa毛片免费同男同女| 无码一区二区三区亚洲人妻| 国产亚洲一区二区手机在线观看 | 日韩精品免费一线在线观看| 亚洲精品福利视频| 全部免费国产潢色一级|