跳至主要內容
IOC中的基本反射步骤

1、controller

package cn.edu.bjut.base.spring.controller;

import cn.edu.bjut.base.spring.Autowired;
import cn.edu.bjut.base.spring.service.UserService;

public class UserController {
    
    private UserService userService;

    public UserService getUserService() {
        return userService;
    }

    public void setUserService(UserService userService) {
        this.userService = userService;
    }
}

zheng小于 1 分钟springspring
手写一个简单Autowired

1、按照惯例

首先写一个controller和service

package cn.edu.bjut.spring.controller;

import cn.edu.bjut.spring.Autowired;
import cn.edu.bjut.spring.service.UserService;

public class UserController {
    @Autowired
    private UserService userService;
    
}


zheng小于 1 分钟springspring
Spring Bean作用域与生命周期

一、Spring Bean生命周期

img
img

解释:

  • Spring 通过我们的配置,如 @ComponentScan 定义的扫描路径去找到带有 @Component 的类,这个过程就是一个资源定位的过程。

  • 一旦找到了资源,那么它就开始解析,并且将定义的信息保存起来。注意,此时还没有初始化 Bean ,也就没有 Bean 实例,它有的仅仅是 Bean 的定义。

  • 然后就会把 Bean 定义发布到 Spring IoC 容器中,此时,IoC容器也只有 Bean 的定义,还是没有 Bean 的实例生成。

    在默认的情况下,Spring会继续去完成Bean的实例化和依赖注入, 这样从IoC容器中就可以得到一个依赖注入完成的Bean。但是,有些Bean会在取的时候才初始化和依赖注入。如下图:


zheng大约 2 分钟java基础spring