<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
    注入方式還挺多的啊!  回復  更多評論
      
    主站蜘蛛池模板: 久草视频在线免费看| 日本视频免费在线| 中中文字幕亚洲无线码| 精品国产精品久久一区免费式| 一级做α爱过程免费视频| 日产亚洲一区二区三区| 啦啦啦www免费视频| 成人无码区免费A∨直播| 亚洲AV色吊丝无码| 亚洲区小说区图片区| 免费观看美女用震蛋喷水的视频 | 午夜亚洲国产精品福利| 久久91亚洲人成电影网站| 成年女人看片免费视频播放器| 一级毛片在播放免费| 亚洲成A∨人片在线观看无码| 亚洲国产精品嫩草影院久久| 五月婷婷在线免费观看| 国产福利电影一区二区三区,免费久久久久久久精 | 美女羞羞视频免费网站| 1区1区3区4区产品亚洲| 全黄性性激高免费视频| 免费观看美女用震蛋喷水的视频| 国产裸体美女永久免费无遮挡 | 中国精品一级毛片免费播放| 亚洲av无码片在线观看| 国产AV无码专区亚洲AVJULIA| 国产免费人成视频在线观看| 国产免费不卡v片在线观看 | 亚洲一区二区精品视频| 无码高潮少妇毛多水多水免费| 久久99国产综合精品免费| a级毛片免费观看在线| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 永久亚洲成a人片777777| 午夜一区二区免费视频| 国产曰批免费视频播放免费s| AAA日本高清在线播放免费观看| 国产午夜亚洲精品不卡| 在线aⅴ亚洲中文字幕| 亚洲明星合成图综合区在线|