02_spring的IoC和DI

###IoC:Inverse of Control(控制反转):
将原本在程序中手动创建对象的控制权,交由Spring框架来管理。

IoC:Inverse of Control(控制反转):

读作“反转控制”,更好理解,不是什么技术,而是一种设计思想,好比于MVC。就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。

正控:若调用者需要使用某个对象,其自身就得负责该对象的创建。
反控:调用者只管负责从Spring容器中获取需要使用的对象,不关心对象的创建过程,也就是把创建对象的控制权反转给了Spring框架。
在这里完美地体现了好莱坞法则(Don’t call me ,I’ll call you)。

DI:Dependency Injection(依赖注入)

从字面上分析:
IoC:指将对象的创建权,反转给了Spring容器; 
DI :指Spring创建对象的过程中,将对象依赖属性(简单值,集合,对象)通过配置设值给该对象。
IoC和DI其实是同一个概念的不同角度描述,DI相对IoC而言,明确描述了“被注入对象依赖IoC容器配置依赖对象”。

Container:容器,在生活中容器就是一种盛放东西的器皿,从程序设计角度看作是装对象的对象,因为存在对对象的存入、取出等操作,所以容器还要管理对象的生命周期。

Spring第一个spring测试程序
1.准备jar包
spring-beans-4.1.2.RELEASE.jar
spring-core-4.1.2.RELEASE.jar
com.springsource.org.apache.commons.logging
如果执行测试时报错(java.lang.ExceptionInInitializerError)
则需要将错误复制出来,查看完整错误,一般是spring4.2.4.RELEASE和junit4.8的版本问题,要么降低spring4.2.4版本,要么升级junit到4.9

public class HelloSpring {
@Setter  //必须有set属性
private String name;

public void say() {
	System.out.println("hello---" + name);
}

}
@Test

//把创建的对象交给spring框架管理
public void test1() throws Exception {
	//1读取资源文件
	Resource resource = new ClassPathResource("/applicationContext.xml");
	//2创建spring容器对象
	BeanFactory bf = new XmlBeanFactory(resource);
	//3从srping容器中获得指定名称对象
	HelloSpring hello = bf.getBean("helloSpring", HelloSpring.class);	

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

<beans>
	<bean name="helloSpring" class="全限定类名">
		<property name="需要注入的属性名称" value="注入值" />
	</bean>
</beans>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值