<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;

    /**
     * 領域對象
     * 
     * 
    @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構造");
        }

        
    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構造");
        }

        
    public void insert(User user) {
            System.out.println(
    "執行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構造");
        }

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

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

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


    }

    測試——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構造
    User構造
    UserAction構造
    setUser方法被調用
    setUserDao方法被調用
    執行insert方法
    saveUser方法被調用

    2.靜態工廠注入
    修改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靜態工廠
     * 
    @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構造
    User構造
    UserAction構造
    setUser方法被調用
    setUserDao方法被調用
    執行insert方法
    saveUser方法被調用

    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構造
    User構造
    UserAction構造
    setUser方法被調用
    setUserDao方法被調用
    執行insert方法
    saveUser方法被調用

    4.構造器注入
    修改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構造");
        }

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

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

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

    }

    控制臺輸出:
    UserDao構造
    User構造
    UserAction構造(有參構造)
    執行insert方法
    saveUser方法被調用

    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;

    /**
     * 領域對象
     * 
     * 
    @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構造");
        }

        
    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構造
    User構造
    UserAction構造
    setUser方法被調用
    setUserDao方法被調用
    1
    admin
    123
    [list-1, list-2]
    [set-1, set-2]
    {k1=v1, k2=v2}





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

    評論:
    # re: Spring的注入方法小結 2010-06-22 10:35 | 愛之谷
    UserDao構造
    User構造
    UserAction構造
    setUser方法被調用
    setUserDao方法被調用  回復  更多評論
      
    # re: Spring的注入方法小結 2010-06-22 20:21 | Ying-er
    @愛之谷
    啥意思?  回復  更多評論
      
    # re: Spring的注入方法小結[未登錄] 2010-06-24 08:41 | snail
    注入方式還挺多的啊!  回復  更多評論
      
    主站蜘蛛池模板: 高清在线亚洲精品国产二区| 亚洲精选在线观看| 国产一区二区三区免费观看在线| 亚洲电影一区二区| 在线观看91精品国产不卡免费| 国产精品免费视频观看拍拍| 亚洲成a人片在线观| 四虎影视在线永久免费看黄| 久久国产乱子伦精品免费强| 亚洲国产午夜精品理论片在线播放 | 亚洲人成人77777在线播放| 国产jizzjizz视频全部免费| 秋霞人成在线观看免费视频| 亚洲国产欧美日韩精品一区二区三区 | 国精产品一区一区三区免费视频| 亚洲人成777在线播放| 中文字幕亚洲不卡在线亚瑟| 日韩版码免费福利视频| 国产高潮流白浆喷水免费A片 | 亚洲一区免费在线观看| 亚洲色成人中文字幕网站| 免费黄色毛片视频| 91av免费观看| 精品一区二区三区免费观看| 亚洲熟女乱色一区二区三区| 亚洲AV日韩AV高潮无码专区| 亚洲AⅤ优女AV综合久久久| 成年轻人网站色免费看| APP在线免费观看视频| 男女猛烈xx00免费视频试看| 亚洲精品福利你懂| 亚洲人成电影在在线观看网色 | 日本亚洲免费无线码| 亚洲av伊人久久综合密臀性色| 一区国严二区亚洲三区| 大学生美女毛片免费视频| 亚洲免费福利视频| 免费无码中文字幕A级毛片| 在线观看人成视频免费无遮挡| 人体大胆做受免费视频| 亚洲heyzo专区无码综合|