目录

一、介绍

1.set注入和构造器注入是什么?

2.通俗的理解

3.set注入和构造器注入的核心原理

4.set注入和构造器注入的类型

5.set注入的外部bean和内部bean

二、set注入和构造器注入例子步骤(引用数据类型)

(一)set注入

1.创建一个Dog类

2.创建一个Cat类

3.Dog类和Cat类统一交给spring管理

4.Test测试的java包里面创建一个包一个测试类去测试运行

5.运行结果(Cat类被注入了Dog类的方法)

(二)构造器注入

1.创建一个Dog类

2.创建一个Cat类

3.Dog类和Cat类统一交给spring管理

4.Test测试的java包里面创建一个包一个测试类去测试运行

5.运行结果(Cat类被注入了Dog类的方法)

二、set注入和构造器注入例子步骤 (简单数据类型)

(一)set注入

1.创建一个User类。里面带有名字和年龄属性,快捷键生成set方法和toString方法

2.创建一个spring的xml文件里面配置bean和注入属性具体的值

3. Test测试的java包里面创建一个包一个测试类去测试运行

4.运行结果

(二)构造器注入

1.创建一个User类。快捷键生成构造器方法和toString方法

2.创建一个spring的xml文件里面配置bean和注入属性具体的值

3. Test测试的java包里面创建一个包一个测试类去测试运行

4.运行结果


一、介绍

1.set注入和构造器注入是什么?

spring的控制反转(IOC)与依赖注入实现方式(DI)_云边的快乐猫的博客-CSDN博客

2.通俗的理解

已知:当前的spring框架不需要自己创建对象了。这些对象都交给spring的bean容器去管理。

那么想要这些对象想要关联起来或者传值进去怎么办呢?

那就要用到注入。 例如一个Cat猫类对象想要使用Dog狗类中的方法。那么怎么办呢?

按照以前没有使用spring的思路就是:在Cat类中去实例化Dog类,然后调用Dog类的方法

用spring后:那就是在统一托管对象的spring容器里面去调用就好了。Cat类直接在spring容器里面调用Dog的方法就可以了

3.set注入和构造器注入的核心原理

(1)set注入的核心原理

通过反射机制调用set方法给属性赋值,让两个对象之间产生关系

(2)构造器注入的核心原理

通过调用构造方法来给属性赋值

4.set注入和构造器注入的类型

set注入有两种类型:引用类型、简单类型

构造器有两种类型:引用类型、简单类型

引用类型和简单类型区别:java数据类型(8个基本数据类型+3个引用数据类型)与数据类型转换知识点_java三种引用数据类型_云边的快乐猫的博客-CSDN博客

5.set注入的外部bean和内部bean

(1)外部bean:在spring的自定义xml配置bean文件中配置的bean含有ref引用的就是外部bean

(2)内部bean:在spring的自定义xml配置bean文件中配置的property标签再内嵌一个bean(不含id)

二、set注入和构造器注入例子步骤(引用数据类型)

(一)set注入

实验目标创建一个Dog类,一个Cat类,交给spring中心托管。然后把Dog类的方法注入到Cat类里面,让Cat类去调用。本项目用的是maven项目

这里面有创建maven项目的方法

快速入门使用spring详细步骤(介绍、导入依赖、第一个简单程序)_云边的快乐猫的博客-CSDN博客

1.创建一个Dog类

package com.spring6.bean;public class Dog {//1.新建一个方法public void DogEat(){System.out.println("这是狗的方法");}
}

2.创建一个Cat类

ps:被注入的Cat类里面要先写入要注入目标的私有对象.类.方法。然后生成一个set方法

然后类本身创建一个方法,去调用这个注入的对象方法

package com.spring6.bean;public class Cat {
//一、要注入Cat里面的方法//1.Dog私有方法private Dog DogEat;//2.生成一个set方法public void setDog(Dog dog) {this.DogEat = dog;}//二、写Cat自己的方法public void cat(){//3.调用注入狗的方法DogEat.DogEat();}
}

3.Dog类和Cat类统一交给spring管理

步骤:在resources里面创建一个配置xml文件。然后写入Dog和Cat这两个类的spring管理方式。

注入类:Dog。被注入类:Cat。就像Cat类里面被针管容器注入Dog类的方法

ps:不理解创建这个xml文件的可以看

spring的注入(set注入、构造器注入)相关推荐

  1. SpringIOC手动装配(注入):构造器注入,静态工厂注入,实例化工厂注入

    1.本篇博客的背景和目的 目前我本人正在学习SpringFramework的知识,这也是这个专栏的主题.我前面的几篇博文中,简单的认识了一下SpringFramework,记录了SpringFrame ...

  2. Spring的三种注入方式(为什么推荐构造器注入?)

    Spring的三种注入方式 一.属性注入 @Resource和@Autowired的区别 为什么尽量使用 @Resource? 二.setter 注入 三.构造器注入 具体可以看看Spring官网 为 ...

  3. Spring的构造器注入

    一.前言 ​ Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversion of Control, 控制反转)和AOP,平时使用最多的就是其中的IOC,我们通过将组件交由S ...

  4. Spring的setter方法注入和构造器注入的对比

    我们知道,Spring的依赖注入,有setter方法注入,实例变量注入,构造器注入等. Spring官方文档里,提到: 依赖注入存在两种主要形式: 构造器注入 setter方法注入 注:其实对于Spr ...

  5. spring的控制反转和依赖注入讲解

    1.Spring 1.1 简介 2002年首次推出Spring的雏形,interface21框架 2004正式发布1.0版本 解决企业应用开发的复杂性,其理念是使现有的技术更加容易使用! SSH:St ...

  6. java 构造器注入_Spring学习笔记1—依赖注入(构造器注入、set注入和注解注入)...

    什么是依赖注入 在以前的java开发中,某个类中需要依赖其它类的方法时,通常是new一个依赖类再调用类实例的方法,这种方法耦合度太高并且不容易测试,spring提出了依赖注入的思想,即依赖类不由程序员 ...

  7. php依赖注入 简书,依赖注入

    从一个例子开始,比如说写了这样一个方法: - (NSNumber*)nextReminderId{NSNumber*currentReminderId = [[NSUserDefaultsstanda ...

  8. Spring官方为什么建议构造器注入?

    以下文章来源方志朋的博客,回复"666"获面试宝典 前言 本章的内容主要是想探讨我们在进行 Spring 开发过程当中,关于依赖注入的几个知识点.感兴趣的读者可以先看下以下问题: ...

  9. Spring为什么建议构造器注入?

    以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://juejin.cn/post/6844904056230690824 前言 本章的内容主要是想探讨我们在进 ...

  10. 对不起,我就是喜欢问你Spring构造器注入原理

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:这样配置:让你的 IDEA 好用到飞起来文章转自:码农沉思录 我的小站:个人小站,欢迎小憩 作者:Static_ ...

最新文章

  1. linux内核rcu锁实例,Linux Rcu到底有没有锁?
  2. Java练习 SDUT-1230_平方和与立方和
  3. 离散数学 关系和有向图
  4. 算法------对称二叉树
  5. 如何在Eclipse中自动删除尾随空格?
  6. 2014年电大计算机应用基础网考试题,2017年电大计算机应用基础网考试题与答案...
  7. Webstorm2017安装以及破解和汉化
  8. boost::prior用法的测试程序
  9. 戴尔服务器安装centos7修改网卡名,Centos7.6修改网卡名称为之前的eth形式
  10. 手机音频拼接软件_5款适合新手的手机音频剪辑APP
  11. Linux如何进BIOS看硬盘,bios模式下怎么看硬盘
  12. AD9854PCB的绘制以及调试中存在的问题以及解决方法
  13. 为什么Flutter是跨平台开发的终极之选
  14. 南昌大学航天杯第二届程序设计竞赛校赛网络同步赛 部分题解
  15. 如何去除matlab存图时的白边
  16. win10解除usb禁用_Win10专业版下安全禁用USB设备
  17. git prune 相关
  18. CentOS升级或安装安装JDK 8
  19. ESL4.3 线性判别分析(LDAQDA)学习笔记
  20. (附源码)计算机毕业设计ssm服装销售商城系统

热门文章

  1. 信号驱动任务执行(pause、sigsuspend函数)
  2. 计算机高级工程师如何评正高,如何评高级职称
  3. 第8关:判断条件的相容性
  4. HG 新闻 RS5 环境点
  5. 《A Survey on Transfer Learning》中文版翻译《迁移学习研究综述》
  6. Linux系统中UID和GID详解
  7. 23普通话考试报名流程,注意各省已陆续开始报名
  8. 综合素质计算机的知识考点,综合素质常识考题
  9. flask中的所有第三方模块大集合
  10. Type A卡和Type B卡的主要区别