我是靠谱客的博主 活力豌豆,最近开发中收集的这篇文章主要介绍Spring 容器Bean的注入一、构造方法注入二、Setter方法注入三、属性注入四、配合Bean进行参数注入,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、构造方法注入

二、Setter方法注入

三、属性注入

四、配合Bean进行参数注入


一、构造方法注入

// 需要用到 Hello 类
// 1. 先让 Person 类被注册进 Spring 容器,并且,实例化过程委托给 Spring。—— @Component 修饰 Person 类 :对象的卖方(卖 Person 对象)
// 2. 要求 Hello 类已经被注册到 Spring 容器中了(类注册 or 方法注册都可以):对象的买方(买 Hello 对象)
// 2.1. 直接使用构造方法注入
@Component
public class Person {
    @Autowired  // 这个注解其实可以不写,但建议写上,主要是让看代码的人,知道我们的 Hello 对象是被注入的
                // 如果有多个构造方法,告诉 Spring,实例化 Person 对象时,应该调用哪个
    public Person(Hello hello) {
        System.out.println("Person(), hello = " + hello);
    }

    public Person(int x) {
        System.out.println("Person()");
    }
}

二、Setter方法注入

// 需要用到 Hello 类
// 1. 先让 Person 类被注册进 Spring 容器,并且,实例化过程委托给 Spring。—— @Component 修饰 Person 类 :对象的卖方(卖 Person 对象)
// 2. 要求 Hello 类已经被注册到 Spring 容器中了(类注册 or 方法注册都可以):对象的买方(买 Hello 对象)
// 2.2. 使用 setter 方法去注入
@Component
public class Person2 {
    public Person2() {
        System.out.println("Person2() 被调用");
    }

    @Autowired  // 必须带上
    public void setHello(Hello hello) {
        System.out.println("setHello(), hello = " + hello);
    }
}

三、属性注入

// 需要用到 Hello 类
// 1. 先让 Person 类被注册进 Spring 容器,并且,实例化过程委托给 Spring。—— @Component 修饰 Person 类 :对象的卖方(卖 Person 对象)
// 2. 要求 Hello 类已经被注册到 Spring 容器中了(类注册 or 方法注册都可以):对象的买方(买 Hello 对象)
// 2.2. 使用属性直接注入
@Component
public class Person3 {
    @Autowired  // hello 属性的值会被 Spring 容器对象注入
    private Hello hello;    // 通过反射方式,即使是 private,也可以绕开访问限制

    public Person3()   {
        System.out.println("Person3() 被调用");
    }

    public void printHello() {
        System.out.println("printHello(), hello = " + this.hello);
    }
}

四、配合Bean进行参数注入

@Configuration
public class AppConfig {
    
    @Bean   // 这里的 Hello hello 由 Spirng 注入
    // 因为 createPerson 被 Spring 调用,它可以填写我们指定的需要的参数
    public Person createPerson(@Autowired Hello hello) {
        System.out.println("createPerson(), hello = " + hello);
        return new Person(hello);
    }
}

最后

以上就是活力豌豆为你收集整理的Spring 容器Bean的注入一、构造方法注入二、Setter方法注入三、属性注入四、配合Bean进行参数注入的全部内容,希望文章能够帮你解决Spring 容器Bean的注入一、构造方法注入二、Setter方法注入三、属性注入四、配合Bean进行参数注入所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部