zoukankan      html  css  js  c++  java
  • Spring IoC DI

    先解释下基本概念:

    IOC:控制反转:将对象的创建权,Spring管理.

    DI:依赖注入:Spring创建对象的过程中,把对象依赖的属性注入到类中.

    在面向对象中饭,常见的有以下几类关系。

     1依赖:

     

              public class A{

     

              private B b;

     

              }

     

    继承关系 

     

    3 聚合关系    

        聚集:A类的对象在创建时不会立即创建B类的对象,而是等待一个外界的对象传给它,传给它的这个对象不是A类创建的。

        组合:A中引用了b,并且b是a创建的。

    Spring注入方式有2种,构造器和setter方法。下面举例说明,这里主要说明setter方式。构造器暂不举例

       基本属性,以及对象,list,map,set 注入举例

       

    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    
    public class Car {
    	private String name;
    	private double money;
    	private List<String> list;
    	private Set<String> set;
    	private Map<String, Integer> map;
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public double getMoney() {
    		return money;
    	}
    
    	public void setMoney(double money) {
    		this.money = money;
    	}
    
    	public List<String> getList() {
    		return list;
    	}
    
    	public void setList(List<String> list) {
    		this.list = list;
    	}
    
    	public Set<String> getSet() {
    		return set;
    	}
    
    	public void setSet(Set<String> set) {
    		this.set = set;
    	}
    
    	public Map<String, Integer> getMap() {
    		return map;
    	}
    
    	public void setMap(Map<String, Integer> map) {
    		this.map = map;
    	}
    }
    

     

      相关的xml代码 

        

    	<bean id="Car" class="XXX.com.Car">
    <!-- <property>标签中name就是属性名称,value是普通属性的值,ref:引用其他的对象 -->
    		<property name="name" value="保时捷"/>
    		<property name="money" value="5000000"/>
                   <property name="list">
       			<list>
    				<value>value1</value>
    				<value>value2</value>
    			</list>
    		</property>
    		
    		<!-- 注入set集合 -->
    		<property name="set">
    			<set>
    				<value>value1</value>
    				<value>value2</value>
    			</set>
    		</property>
    		
    		<!-- 注入map集合 -->
    		<property name="map">
    			<map>
    				<entry key="k1" value="1"/>
    				<entry key="k2" value="2"/>
    			</map>
    		</property>
    	</bean>
    

      

     

     

      

        

       

     

     

     

  • 相关阅读:
    php出现“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误的一种情况,及解决方法
    nginx配置:支持phpfastcgi,nginx和phpcgi通信,部分nginx常量解释
    一步步构建大型网站架构(转/收藏)
    PHP中$_REQUEST中包含的数据,数据被覆盖问题
    使用linux时碰到的两个问题
    小谈字节序
    备忘录(1)
    [c#]如何编写需要授权才能使用的WebService?
    [XML]XPath小记
    [Misc]如何得知系统存在哪几个COM口?
  • 原文地址:https://www.cnblogs.com/javabigdata/p/5657213.html
Copyright © 2011-2022 走看看