SpringIoC

Spring 容器

一、概念

IoC容器

IoC容器是具有 DI 和 **DL **功能的容器,我们把需要使用的对象都交给容器进行管理,这样不需要我们通过手动new的方式去创建对象,而是由容器直接帮我们创建、组装好(DI),当我们需要使用时直接从容器获取即可(DL)。

DI:依赖注入,主要负责对象的实例化、对象的初始化、对象和对象直接的依赖关系配置、对象的销毁等操作。

DL:依赖查找,主要是对外提供对象的查找操作。

Bean

由Spring容器管理的对象统称为Bean对象。本质上它就是普通的java对象,跟我们自己new的对象是一样的,只是这些对象是被容器进行创建和管理的。

那么容器如何知道它需要创建管理哪些Bean对象呢。显而易见,需要我们告诉它,因为容器中管理的Bean是要能被我们在需要的时候拿来即用的,那么它的属性、方法都是我们自己提前设计好的,容器只是根据我们提供的定义进行创建和管理Bean对象的。

简单来说,我们会提供一个配置文件给容器,配置文件上定义了要创建的Bean对象的信息(Bean的配置信息Spring 官方称它为配置元数据),容器读取配置文件根据里面提供的Bean的配置元数据来构建和组装我们需要的Bean。

容器使用步骤

  • 引入Spring相关的maven配置
  • 配置bean对象的配置元数据
  • 创建Spring容器,并指定它需要加载的bean配置文件,容器启动后,加载配置元数据,然后创建定义好的bean,并将这些bean放在容器中。
  • 通过容器提供的方式,获取容器中的对象,然后使用。

二、基本使用

创建 spring-demo 项目,引入依赖

    <properties>
        <spring.version>5.3.23</spring.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
    </dependencies>

创建 HelloSpring

public class HelloSpring  {
    public void say(String name) {
        System.out.println("hello Spring, I am " + name + ",I'm going to start studying Spring.");
    }
}

配置元数据

这次我们采用 Java 注解的方式来配置元数据。只需要在 HelloSpring 类上使用 @Component 注解即可

@Component
public class HelloSpring {
    public void say(String name) {
        System.out.println("hello Spring, I am " + name + ",I'm going to start studying Spring.");
    }
}

使用容器

public class Client {
    public static void main(String[] args) {
        //创建容器,并指定加载类
        // 这个操作就 创建容器,并指定容器需要加载的配置元信息
        ApplicationContext context = new AnnotationConfigApplicationContext(HelloSpring.class);
        //DL操纵,从容器内获取 HelloSpring 对象
        HelloSpring helloSpring = context.getBean(HelloSpring.class);
        //调用 HelloSpring 的 say 方法
        helloSpring.say("muci");
    }
}

运行输出:

hello Spring, I am muci,I'm going to start studying Spring.

三、总结

本文主要介绍了Spring中 容器、Bean的概念,并且演示了容器的最基本使用。

  • 首先,要引入Spring的依赖。
  • 需要定义bean的配置元数据(告诉容器它需要创建哪些bean,以及bean对象的最终创建格式。
  • 创建容器,并指定容器加载的配置元数据。
  • 从容器中获取对象。

当然,大家现在肯定还有很多疑惑,AnnotationConfigApplicationContext是什么,@Component又是什么,不要着急,接下来我们会详细介绍容器、bean的定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值