`

spring的第一个IoC实例

阅读更多
Spring框架是一种管理业务对象的框架结构
控制反转IoC,原来由应用程序控制的”对象之间的关系“转交给由外部容器来实现控制。
控制反转用到的重要组件有BeanFactory接口,ApplicationContext接口以及Spring的配置文件
在Myeclipse环境下,新建一个java项目或web项目,添加spring功能(即添加spring所需的jar包)
将自动生成applicationContext.xml配置文件,这是spring的配置文件,非常重要。
初始文件内容:
<?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.0.xsd">
</beans>

新建一个简单的JavaBean,
package com.qdu.sun.spring;

public class HelloWorld {

	private String greeting;
	public HelloWorld(){
		
	}
	public void sayGreeting(){
		System.out.println(this.greeting);
	}
	public HelloWorld(String greeting){
		this.greeting  = greeting;
	}
	public void setGreeting(String greeting) {
		this.greeting = greeting;
	}
	
}

并在spring的配置文件中进行设置,有两种方式传入参数,set方式和构造函数方式
即在原始的配置文件基础上,添加一个bean
<bean id="greetingService" class="com.qdu.sun.spring.HelloWorld"
		abstract="false" lazy-init="default" autowire="default"
		dependency-check="default">
		<!-- set方式传入参数 -->
		<property name="greeting">
			<value type="java.lang.String">Hello world!</value>
		</property>
		<!-- 构造函数方式传入参数 -->
		<constructor-arg>
			<value type="java.lang.String">Hello world!</value>
		</constructor-arg>
	</bean>

接着进行简单的测试
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

import com.qdu.sun.spring.HelloWorld;

public class SpringTest {

	public static void main(String[] args) {
		BeanFactory factory = new XmlBeanFactory(new ClassPathResource(
				"applicationContext.xml")); //读取classpath下的配置文件,无需指定路径
		HelloWorld hw = (HelloWorld) factory.getBean("greetingService");
		hw.sayGreeting();

	}

}

看着很简单吧!!
分享到:
评论

相关推荐

    模拟实现Spring的IOC

    1、Spring主要两个作用:实例化Bean,动态装配Bean。并将所有的bean放到spring容器中,调用时从容器中取。Spring容器就是一个bean的Map:private Map, Object&gt; beans = new HashMap, Object&gt;(); 2、本工程,模拟...

    《partner4java 讲述Spring入门》之第一步:Spring概述与Spring IoC

    《Spring入门:Spring概述与Spring IoC》是针对初学者的一篇教程,旨在引导开发者进入Spring框架的世界。本文将深入探讨Spring的核心概念,特别是Spring的Inversion of Control(IoC,控制反转)特性,以及如何在...

    Spring的IOC原理

    Spring框架是实现IOC的一个典型例子。在Spring中,IOC容器(ApplicationContext)负责管理对象的生命周期和装配。开发者通过XML配置、注解或Java配置来定义对象及其依赖关系。Spring容器根据这些定义实例化对象并...

    spring4讲义-第二章spring与IoC

    控制反转(IoC)是Spring框架核心思想之一。它是一种设计模式,用于降低对象之间的耦合性。在传统编程模式中,对象的创建和依赖关系的维护通常由程序自身负责,这导致代码之间相互依赖,难以修改和扩展。而IoC模式...

    04spring4_ioc3.rar

    首先,我们来看第一种创建对象的方式——通过无参构造方法。这是最基础的IoC容器初始化对象的方法。在`User.java`类中,如果我们有一个如下的定义: ```java public class User { private String name; private ...

    Spring2.0(一)第一个Spring程序、IoC的应用

    本文将深入探讨Spring 2.0的第一个程序以及IoC(Inversion of Control,控制反转)的应用。 Spring 2.0的发布标志着该框架的重大进步,它引入了对Java 5和Java EE 5的支持,增强了AOP(面向切面编程)功能,并且...

    【框架源码篇 01】Spring源码-手写IOC

    在本系列的第一篇【框架源码篇 01】中,我们将深入探讨Spring框架的核心组件——控制反转(Inversion of Control,简称IOC)。IOC是一种设计模式,它将对象的创建和管理职责从应用代码中解耦出来,转交给一个外部...

    Spring源代码解析(一):IOC容器.doc

    在Spring源代码解析的第一部分,我们将聚焦于IOC容器,特别是BeanFactory接口,它是所有Spring容器的基础。 BeanFactory接口是Spring的基石,它定义了基本的容器操作,如获取Bean、检查Bean是否存在、确定Bean的...

    03spring4_ioc2.rar

    标题“03spring4_ioc2.rar”暗示了我们即将探讨的是关于Spring框架的第四个主要版本(Spring 4)中的依赖注入(IOC,Inversion of Control)概念。描述中提供的代码片段展示了一个名为`UserDao`的接口,它包含一个...

    Spring IoC实现

    Spring 框架中的 IoC (Inversion of Control) 概念,也被称作依赖注入(Dependency Injection, DI),是 Spring 框架的核心功能之一。它实现了对应用程序组件间的解耦,并允许容器管理对象的生命周期和依赖关系。 ...

    Spring自学笔记-Ioc(控制反转)容器

    这种方式比较简单易用,但可能导致Bean的初始化延迟到第一次使用时才完成。 ```xml ``` 3. **示例** - **XML格式定义的Setter DI示例** ```xml ``` - **构造器注入...

    Spring 实例源码

    在这篇由三部分组成的 Spring 系列 的第 1 部分中,我将介绍 Spring 框架。我先从框架底层模型的角度描述该框架的功能,然后将讨论两个最有趣的模块:Spring 面向方面编程(AOP)和控制反转 (IOC) 容器。接着将...

    第二章 Spring4 IOC

    标题中的"第二章 Spring4 IOC"表明我们即将探讨的是关于Spring框架第四版本中的控制反转(Inversion of Control,简称IOC)这一核心概念。IOC是Spring框架的基础,它使得应用程序的组件能够脱离具体的依赖关系,提高...

    java练习之模拟SPRING IOC,我的SUMMER

    在这个练习的第一部分,我们需要了解如何使用Java API读取XML文件,如JAXB(Java Architecture for XML Binding)或DOM(Document Object Model)解析器。通过解析XML文件,我们可以获取Bean的定义,包括它们的类名...

    SpringIOC问题-回复1

    在Spring MVC中,每个HTTP请求对应一个`request`作用域的bean实例。 3. **Spring处理循环引用**: - Spring通过@Autowired、@Resource等注解进行依赖注入。在启动时,会有一个...

    Spring源码分析.pdf

    IOC容器是 Spring 框架的核心组件之一,它提供了一个统一的方式来管理应用程序中的对象。IOC 容器的主要功能是将对象的创建、管理和依赖关系解耦,使得应用程序更加灵活、可维护和可扩展。 在 Spring 中,IOC 容器...

    第一个spring所以到的jar包

    标题中的"第一个spring所以到的jar包"指的是一个包含了Spring框架最基本功能的最小化jar包集合。这个压缩包文件,根据描述,仅包含7个jar包,尽管精简,但在Eclipse这样的集成开发环境中,已经足够支持运行一个基础...

Global site tag (gtag.js) - Google Analytics