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>

  

 

 

  

    

   

 

 

 

原文地址:https://www.cnblogs.com/javabigdata/p/5657213.html