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

本文介绍了控制反转(IOC)的概念及其核心目的——创建和组装对象之间的关系,并详细解释了依赖注入(DI)作为IOC的一种实现方式,同时通过Spring框架的具体示例展示了如何实现IOC。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是 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、构造注入:调用构造函数进行赋值

                

    




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值