Spring 学习—— Spring 概述 及 IOC 容器

一、什么是 IOC 

    IOC:控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护。

            扩展:IOC既然是控制反转,到底是那些方面被反转了呢? 即获取依赖对象的过程被反转了,控制被反转之后,获取依赖对象的过程由自身管理变为了IOC容器的主动注入,所谓的依赖注入,就是由IOC容器在运行期间,动态的将某种依赖关系注入到对象之中。

    DI(依赖注入)是其中一种实现方式。

    IOC的目的:创建对象并组装对象之间的关系。

    

    Spring 的 Bean 配置

<?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-3.0.xsd">

   <bean id="helloWorld" class="com.tutorialspoint.HelloWorld">
       <property name="message" value="Hello World!"/>
   </bean>

</beans>

    Spring 实现 HelloWord:

        1、这是 HelloWorld.java 

package com.tutorialspoint;
public class HelloWorld {
   private String message;
   public void setMessage(String message){
      this.message  = message;
   }
   public void getMessage(){
      System.out.println("Your Message : " + message);
   }
}

        2、这是 Main 方法

package com.tutorialspoint;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp {
   public static void main(String[] args) {
      ApplicationContext context = 
             new ClassPathXmlApplicationContext("Beans.xml");
      HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
      obj.getMessage();
   }
}

    关于主程序,主要有两点需要注意

    1、我们使用框架中的 API ClassPathXmlApplicationContext()  来创建应用程序的上下文。他处理并初始化所有的对象。

    2、使用已经创建的上下文的 getBean()方法来获取所需的 bean。这个方法使用 bean 的 ID 返回一个最终可以转换为实际对象的通用对象。 

    Bean.xml 的加载方式有三种

    

    

    Spring 的注入是指在启动 Spring 容器加载 bean 配置的时候,完成对变量的赋值工作。

    Spring常用的赋值方式:

        1、设值注入:调用 set 方法进行赋值

        

                    

        2、构造注入:调用构造函数进行赋值

                

    




猜你喜欢

转载自blog.csdn.net/qq_28043563/article/details/80725950
今日推荐