zoukankan      html  css  js  c++  java
  • 实现spring IOC的常见二种方法 setter注入与构造器注入

    案例:

    beans.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:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd" >

      <bean id="userAction" class="com.cdsxt.action.UserAction" >
        <!-- name:对应action类内属性的名字 ref:对应bean元素的id的值
        <property name="userDao" ref="userDao" />
        <property name="str" value="aaaaa" />-->
        <constructor-arg index="0" ref="userDao" />
        <constructor-arg index="1" value="aaaa" />
        <constructor-arg index="2" >
          <list >
            <value>aaaa</value>
            <value>bbb</value>
          </list>
        </constructor-arg>
        <constructor-arg index="3" >
          <map >
            <entry key="aaa">
              <value>aaaa</value>
            </entry>
          </map>
        </constructor-arg>
        <constructor-arg index="4" >
          <props >
            <prop key="bbb">bbbb</prop>
          </props>
        </constructor-arg>
      </bean>
      <bean id="userDao" class="com.cdsxt.dao.impl.UserDaoImpl" ></bean>
    </beans>

    Action:

    public class UserAction {
      private UserDao userDao;
      private String str;
      private List<String> strList;
      private Map<String, String> strMap;
      private Properties pro;
      public UserAction(){ }
      public UserAction(UserDao userDao, String str, List<String> strList, Map<String, String> strMap, Properties pro) {
        this.userDao = userDao;
        this.str = str;
        this.strList = strList;
        this.strMap = strMap;
        this.pro = pro;
      };
      public void add(){
        System.out.println("==========UserAction============");
        userDao.add();
      }
      public UserDao getUserDao() {
        return userDao;
      }
      public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
      }
      public String getStr() {
        return str;
      }
      public void setStr(String str) {
        this.str = str;
      }
      public List<String> getStrList() {
        return strList;
      }
      public void setStrList(List<String> strList) {
        this.strList = strList;
      }
      public Map<String, String> getStrMap() {
        return strMap;
      }
      public void setStrMap(Map<String, String> strMap) {
        this.strMap = strMap;
      }
      public Properties getPro() {
        return pro;
      }
      public void setPro(Properties pro) {
        this.pro = pro;
      }
      public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        UserAction u1 =(UserAction) context.getBean("userAction");
        System.out.println(u1.str+"====="+u1.strList);
        System.out.println(u1.strMap+"===="+u1.pro);
        u1.add();
      }
    }

    public interface UserDao {
      public void add();
    }

    public class UserDaoImpl implements UserDao{

      @Override
      public void add() {
        System.out.println("=========UserDao===========");
      }

    }

  • 相关阅读:
    Caliburn Micro 框架 WP8使用研究(二)页面导航
    Windows Phone 8 Fast Resume 快速恢复浅析(二)
    Caliburn Micro 框架 WP8使用研究(一)简介
    当BI迈入云端,分析云为我们带来了什么?
    解读SQL Server 2012中的最新BI功能
    一个典型的BI系统介绍
    SQL Server数据库服务器的负载均衡集群实现方法
    Web数据挖掘在电子商务中的应用
    2012商业智能发展趋势预测
    一个商业智能培训经理眼中的商业智能
  • 原文地址:https://www.cnblogs.com/hwgok/p/5433207.html
Copyright © 2011-2022 走看看