简单的Spring Ioc

  控制反转(Inversion of Control,Ioc),也被称为依赖注入(Dependency Injection,DI),是面向对象的一种设计理念,用来降低程序代码之间的耦合度。

  首先要考虑什么是依赖。依赖,在代码中一般是指通过局部变量、方法参数、返回值等建立的对于其他对象的调用关系。例如,A类的方法中,实例化了B类的对象并调用其方法已完成特定的功能,我们就说A类依赖于B类

  

  ---------------------------正文---------------------------

  我们需要这spring 框架的jar包

  

  org.springframework.asm-3.1.1.RELEASE.jar
  org.springframework.beans-3.1.1.RELEASE.jar
  org.springframework.context.support-3.1.1.RELEASE.jar
  org.springframework.context-3.1.1.RELEASE.jar
  org.springframework.core-3.1.1.RELEASE.jar
  org.springframework.expression-3.1.1.RELEASE.jar

  我们可以去http://www.springsource.org下载

  第一步

  新建项目把需要的jar包导入进去

  

  第二步

  创建HelloSpring实体类

public class HelloSpring {
    //定义who属性,该属性的值将通过Spring框架进行设置
    private String who = null;

    /**
     * 定义打印方法,输出一句完整的问候
     */
    public void print(){
        System.out.println("Hello,"+this.getWho() + "!");
    }

    public String getWho() {
        return who;
    }

    public void setWho(String who) {
        this.who = who;
    }

}

  

  第三步

  

  创建applicationContext.xml

  

  

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xsi:schemaLocation="http://www.springframework.org/schema/beans
 6     http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
 7     http://www.springframework.org/schema/aop
 8     http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">
 9     <!-- 通过bean元素声明需要Spring创建的实例。该实例的类型通过class属性指定, -->
10     <!-- 并通过id属性为该实例指定一个名称,以便在程序中使用 -->
11     <bean id="helloSpring" class="entity.HelloSpring">
12         <!-- property元素用来为实例的属性赋值,此处实际是调用setWho()方法实现赋值操作 -->
13         <property name="who">
14
15             <value>Spring</value>
16         </property>
17     </bean>
18 </beans>

  

  第四步

  

  编写测试类

  

  

 1 package text;
 2
 3 import org.springframework.context.ApplicationContext;
 4 import org.springframework.context.support.ClassPathXmlApplicationContext;
 5
 6 import entity.HelloSpring;
 7
 8 public class TextSpring {
 9     public static void main(String[] args) {
10         ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
11         //helloSpring对应applicationContext bean的id属性
12         HelloSpring helloSpring = (HelloSpring) context.getBean("helloSpring");
13         helloSpring.print();
14     }
15 }

这样一个简单的Spring Ioc就做好了

  

  

  

时间: 2024-10-19 13:52:05

简单的Spring Ioc的相关文章

简单的Spring IoC入门学习

IoC控制反转,由spring统一管理类的创建,不再由自己创建. 一.导入所需jar core.context.beans.expression.common-logging 二.目标类 package com.claudxyz.IoC; public interface UserService { public abstract void addUser(); } package com.claudxyz.IoC; public class UserServiceImpl implements

一道面试题,简单模拟spring ioc

自己实现的,程序写的土了点,很多情况没去考虑,主要是复习理解怎么使用反射来实现spring 的依赖注入. package dom4jtest; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import

Spring容器的简单实现(IOC原理)

引言:容器是什么?什么是容器?Spring容器又是啥东西?我给Spring容器一个对象名字,为啥能给我创建一个对象呢? 一.容器是装东西的,就像你家的水缸,你吃饭的碗等等. java中能作为容器的有很多,例如Map,List,数组.....还有好多 二.Spring 容器的核心就是一个Map集合(可能不是很准确,见谅!) Map<String, Object> 这个容器里根据key-value存放了好多键值对.假如你给一个String的key,就能获得相应的Object的对象,各位大佬,对Sp

Spring IoC的概念

大部分的企业架构都基于Spring框架.它的成功来自于理念,而不是技术,它最为核心的理念是IoC(控制反转)和AOP(面向切面编程),其中IoC是Spring的基础,而AOP则是其重要的功能,最为典型的当属数据库事务的使用. Spring的概述 Spring提供了以下策略: •对于POJO的潜力开发,提供轻量级和低侵入的编程,可以通过配置(XML.注解等)来扩展POJO的功能,通过依赖注入的理念去扩展功能,建议通过接口编程,强调OOD的开发模式理念,降低系统耦合度,提高系统可读性和可扩展性. •

Spring IOC 方式结合TESTGN测试用例,测试简单java的命令模式

java命令模式: 可以命令("请求")封装成一个对象,一个命令对象通过在特定的接收着上绑定一组动作来封装一个请求.命令对象直接把执行动作和接收者包进对象中,只对外暴露出执行方法的的接口,从而简单的达到动作的请求者和动作的执行者解耦的目的. 下面用一个简单的实例测试简单的命令模式,同时采用spring ioc的方式+testNG的测试方式,实现遥控器的遥控开灯的命令模式实现和测试. 1.建立命令接口,包含执行方法,命令对象必须要实现的,执行方法就是暴露的接口方法,提供于接收者调用. p

自己实现简单Spring Ioc

IoC则是一种 软件设计模式,简单来说Spring通过工厂+反射来实现IoC. 原理简单说明: 其实就是通过解析xml文件,通过反射创建出我们所需要的bean,再将这些bean挨个放到集合中,然后对外提供一个getBean()方法,以便我们获得这bean.通俗来讲就如同婚姻介绍所,只需要告诉它找个什么样的女朋友,然后婚介就会按照我们的要求,提供一个mm,如果婚介给我们的人选不符合要求,我们就会抛出异常. 简单实现: 1.需要引用maven依赖: <dependency> <groupId

Spring IOC的简单实现(附demo)

简单的说,Spring就是通过工厂+反射将我们的bean放到它的容器中的,当我们想用某个bean的时候,只需要调用getBean("beanID")方法即可. 原理简单说明: Spring容器的原理,其实就是通过解析xml文件,通过反射创建出我们所需要的bean,再将这些bean挨个放到集合中,然后对外提供一个getBean()方法,以便我们获得这bean. 下面我们来简单实现一个demo beans.xml <?xml version="1.0" encod

Spring IOC 的简单使用

Spring IOC (Inversion Of Control反转控制容器 一.对于IOC容器的简单理解 在java开发中将程序中的对象交给容器管理,而不是在对象的内部管理. 那么两个简单的问题去分析理解IOC容器 1.为什么叫反转: IOC容器实现了将对象的管理由对象内部直接管理(比如在一个类的main方法中new了一个String对象)转换成在容器中被动的被注入,创建.把这种对对象管理方式的改变称为反转. 2.控制了什么: IOC容器控制了外部资源的统一获取(不仅仅包括对象,还有其他的文件

Spring IOC 源码简单分析 04 - bean的初始化

### 准备 ## 目标 了解 Spring 如何初始化 bean 实例 ##测试代码 gordon.study.spring.ioc.IOC04_Initialization.java public class IOC04_Initialization { public static void main(String[] args) { Resource resource = new ClassPathResource("ioc/ioc04.xml"); DefaultListabl