【Spring】IOC控制反转-demo

原创 2018年04月15日 21:40:44

Spring是一个非常活跃的开源框架;它是一个基于Core来构架多层JavaEE系统的框架,它的主要目的是简化企业开发。

理论:

  控制反转:控制反转——Spring通过一种称作控制反转(IoC)的技术促进了低耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

  Spring的控制反转:把对象的创建、初始化、销毁等工作交给Spring容器来做。由spring来口控制对象的声明周期。

不用spring情况下:


spring控制反转:




实践:

步骤:

一、下载Spring的jar包

Spring官网下载各版本jar包


二、环境配置

1、新建一个java项目——新建一个lib文件夹——将spring.jar包,commons-logging.jar包放进去

然后右击spring.jar(还有logging.jar)——BuildPath——Add to Build Path


最终环境配置结果:


2、导入Junit4



三、编写代码

新建如下东西


HelloWorld.java中:

package cn.itcast.springtest.ioc;

public class HelloWorld {
	public void say(){
		System.out.println("hello,我是牛千千");
	}
}

Spring配置文件:applicationContext.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-2.5.xsd">

	<!-- 
		把HelloWorld这个类 纳入spring容器中
		id为bean的唯一标识
			正规写法:
				类的第一个字母变成小写,其余不变
		class为类的全名			
	 -->
	 <bean id="helloWorld" class="cn.itcast.springtest.ioc.HelloWorld"></bean>
</beans>

IOCTest.java

package cn.itcast.springtest.ioc;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/*
 * 控制反转IOC
 * 牛千千
 */
public class IOCTest {
	/*
	 * 启动spring容器
	 * 		创建spring容器对象就相当于启动了spring容器
	 */
	@Test
	public void testHelloWorld(){
		ApplicationContext context =new ClassPathXmlApplicationContext("cn/itcast/springtest/ioc/applicationContext.xml");
		HelloWorld helloWorld = (HelloWorld)context.getBean("helloWorld");
		helloWorld.say();
	}
	
}

运行一下即可:


运行成功。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/n950814abc/article/details/79953688

The Dearbookian #20040617 - 转贴:谁谋杀了Wrox [by gigix]

The Dearbookian #20040617谁谋杀了Wrox by gigix 此文已经发表在作者的专栏上面:http://www.csdnblog.net/gigix/archive/2004...
  • kingofark
  • kingofark
  • 2004-06-17 11:42:00
  • 3615

Spring-IOC(控制反转详解及demo)

IOC(控制反转):对象的创建交给外部容器完成。 DI(依赖注入):处理对象的依赖关系。 两者区别: 控制反转:解决对象的创建问题。 依赖注入:在创建完对象之后,对象的关系的处理(set方法的...
  • h_r_f
  • h_r_f
  • 2018-01-21 19:50:56
  • 28

JavaEE框架Spring的配置与IOC(控制反转)的demo(案例、实例),适合初学者

  • 2017年05月31日 10:09
  • 27.1MB
  • 下载

Spring框架中IoC(控制反转)的原理

一.IoC的基础知识以及原理: 1.IoC理论的背景:在采用面向对象方法设计的软件系统中,底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。即软件系统中对象之间的耦合,对...
  • u012561176
  • u012561176
  • 2015-05-26 12:18:38
  • 14902

在Struts 2通过Spring实现控制反转(IoC)

http://www.blogjava.net/max/archive/2006/12/28/90548.html
  • Baple
  • Baple
  • 2014-09-12 15:11:01
  • 1380

spring的IOC(控制反转)与AOP(面向切面编程)

一直对spring的两大特性IOC与AOP了解的模模糊糊,不知道怎么区分,怎么理解。 今天看了一篇讲spring常用注解的文章和spring AOP的文章,引用这两个作者的观点,感觉对这两个特性的了...
  • u013538390
  • u013538390
  • 2015-07-02 18:24:09
  • 2452

Spring的控制反转(IoC)和面向切面编程(AOP)的概念浅析。

转自:http://baike.baidu.com/link?url=BhIdxXwp9Xs7PjzebLL8sisJrgh0MiLUB2clkgpf-rpyexxlKTOXDDCxmX1MYe4qe...
  • suyu_yuan
  • suyu_yuan
  • 2016-09-18 21:57:32
  • 5654

Spring入门--控制反转(IOC)与依赖注入(DI)

1.控制反转(Inversion of Control)与依赖注入(Dependency Injection) 控制反转即IoC (Inversion of Control),它把传统上由程序代码直接...
  • hy6688_
  • hy6688_
  • 2014-10-31 18:46:16
  • 9448

Spring之ioc控制反转(依赖注入)

个人感觉依赖注入比控制反转更好理解,所以下面就只说依赖注入: spring的整体结构示意图: 一、spring 中的概念:  beanFactory容器: 1、容器是spring框架的核心,容器...
  • QH_JAVA
  • QH_JAVA
  • 2015-02-08 17:16:59
  • 4400

IoC模式(依赖、依赖倒置、依赖注入、控制反转)

1.依赖 依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖。如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它。下面看一...
  • smartsmile2012
  • smartsmile2012
  • 2016-06-21 13:25:52
  • 696
收藏助手
不良信息举报
您举报文章:【Spring】IOC控制反转-demo
举报原因:
原因补充:

(最多只允许输入30个字)