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();
}
}
看着很简单吧!!
分享到:
相关推荐
1、Spring主要两个作用:实例化Bean,动态装配Bean。并将所有的bean放到spring容器中,调用时从容器中取。Spring容器就是一个bean的Map:private Map, Object> beans = new HashMap, Object>(); 2、本工程,模拟...
《Spring入门:Spring概述与Spring IoC》是针对初学者的一篇教程,旨在引导开发者进入Spring框架的世界。本文将深入探讨Spring的核心概念,特别是Spring的Inversion of Control(IoC,控制反转)特性,以及如何在...
Spring框架是实现IOC的一个典型例子。在Spring中,IOC容器(ApplicationContext)负责管理对象的生命周期和装配。开发者通过XML配置、注解或Java配置来定义对象及其依赖关系。Spring容器根据这些定义实例化对象并...
控制反转(IoC)是Spring框架核心思想之一。它是一种设计模式,用于降低对象之间的耦合性。在传统编程模式中,对象的创建和依赖关系的维护通常由程序自身负责,这导致代码之间相互依赖,难以修改和扩展。而IoC模式...
首先,我们来看第一种创建对象的方式——通过无参构造方法。这是最基础的IoC容器初始化对象的方法。在`User.java`类中,如果我们有一个如下的定义: ```java public class User { private String name; private ...
本文将深入探讨Spring 2.0的第一个程序以及IoC(Inversion of Control,控制反转)的应用。 Spring 2.0的发布标志着该框架的重大进步,它引入了对Java 5和Java EE 5的支持,增强了AOP(面向切面编程)功能,并且...
在本系列的第一篇【框架源码篇 01】中,我们将深入探讨Spring框架的核心组件——控制反转(Inversion of Control,简称IOC)。IOC是一种设计模式,它将对象的创建和管理职责从应用代码中解耦出来,转交给一个外部...
在Spring源代码解析的第一部分,我们将聚焦于IOC容器,特别是BeanFactory接口,它是所有Spring容器的基础。 BeanFactory接口是Spring的基石,它定义了基本的容器操作,如获取Bean、检查Bean是否存在、确定Bean的...
标题“03spring4_ioc2.rar”暗示了我们即将探讨的是关于Spring框架的第四个主要版本(Spring 4)中的依赖注入(IOC,Inversion of Control)概念。描述中提供的代码片段展示了一个名为`UserDao`的接口,它包含一个...
Spring 框架中的 IoC (Inversion of Control) 概念,也被称作依赖注入(Dependency Injection, DI),是 Spring 框架的核心功能之一。它实现了对应用程序组件间的解耦,并允许容器管理对象的生命周期和依赖关系。 ...
这种方式比较简单易用,但可能导致Bean的初始化延迟到第一次使用时才完成。 ```xml ``` 3. **示例** - **XML格式定义的Setter DI示例** ```xml ``` - **构造器注入...
在这篇由三部分组成的 Spring 系列 的第 1 部分中,我将介绍 Spring 框架。我先从框架底层模型的角度描述该框架的功能,然后将讨论两个最有趣的模块:Spring 面向方面编程(AOP)和控制反转 (IOC) 容器。接着将...
标题中的"第二章 Spring4 IOC"表明我们即将探讨的是关于Spring框架第四版本中的控制反转(Inversion of Control,简称IOC)这一核心概念。IOC是Spring框架的基础,它使得应用程序的组件能够脱离具体的依赖关系,提高...
在这个练习的第一部分,我们需要了解如何使用Java API读取XML文件,如JAXB(Java Architecture for XML Binding)或DOM(Document Object Model)解析器。通过解析XML文件,我们可以获取Bean的定义,包括它们的类名...
在Spring MVC中,每个HTTP请求对应一个`request`作用域的bean实例。 3. **Spring处理循环引用**: - Spring通过@Autowired、@Resource等注解进行依赖注入。在启动时,会有一个...
IOC容器是 Spring 框架的核心组件之一,它提供了一个统一的方式来管理应用程序中的对象。IOC 容器的主要功能是将对象的创建、管理和依赖关系解耦,使得应用程序更加灵活、可维护和可扩展。 在 Spring 中,IOC 容器...
标题中的"第一个spring所以到的jar包"指的是一个包含了Spring框架最基本功能的最小化jar包集合。这个压缩包文件,根据描述,仅包含7个jar包,尽管精简,但在Eclipse这样的集成开发环境中,已经足够支持运行一个基础...