<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 閱讀(4100) 評論(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
    注入方式還挺多的啊!  回復  更多評論
      
    主站蜘蛛池模板: 久久精品国产亚洲77777| 色噜噜噜噜亚洲第一| 99亚洲乱人伦aⅴ精品| 亚洲国产一区二区三区| 亚洲AV成人无码网天堂| 97无码免费人妻超级碰碰夜夜| 亚洲AV无码一区二区二三区软件| 老司机免费午夜精品视频| 国产免费av片在线看| 一级中文字幕乱码免费| 亚洲国产成人久久精品99| 美女视频黄a视频全免费网站一区| 亚洲精品无码专区久久久| 97超高清在线观看免费视频| 亚洲免费在线观看| 国产精品1024永久免费视频| 亚洲成人免费网站| 男人的好看免费观看在线视频| eeuss影院免费直达入口| 欧洲亚洲国产清在高| 91精品国产免费网站| 亚洲毛片无码专区亚洲乱| 嫩草影院在线免费观看| 亚洲色欲色欲www在线播放| 免费精品一区二区三区在线观看| 亚洲国产精品网站在线播放| 亚洲AⅤ视频一区二区三区| rh男男车车的车车免费网站| 亚洲日韩国产精品乱-久| 又黄又爽一线毛片免费观看| 日亚毛片免费乱码不卡一区 | 久久亚洲高清综合| 成人A毛片免费观看网站| 久久精品国产亚洲一区二区| 国产精品嫩草影院免费| 久久精品成人免费国产片小草| 亚洲AV成人一区二区三区AV| 67194熟妇在线永久免费观看| 中文字幕乱码免费看电影| 黄页视频在线观看免费| 亚洲男同gay片|