Spring5框架入门学习之IOC实例化对象(一)

Spring-IOC容器XML实现对象的实例化 -- 02 目录 IOC Pom.xml文件 (maven的依赖内容) Bean 实例化对象 注入属性(手动) 注入属性(Autowired自动) IOC 本章介绍了控制反转(IoC)原理的Spring框架实现。 IoC也称为依赖注入(DI)。在此过程中,对象仅通过构造函数参数,工厂方法的参数或在构造或从工厂方法返回后在对象实例上设置的属性来定义其依赖项(即,与它们一起使用的其他对象) 。然后,容器在创建bean时注入那些依赖项。从本质上讲,此过程是通过使用类的直接构... 阅读详情

Spring框架是什么?

spring安装本人的理解就是一艘航空母舰,其拥有很多不同的作战系统以及武器也可以与其他军事力量组装成一个航母战斗群。对应着我们的spring,其拥有从企业级到云计算等各个方面的技术栈,如下图所示:
在这里插入图片描述
Spring拥有很多项目有如:Spring Boot 、Spring Framework、Spring Cloud等等,这里就不在一一介绍,感兴趣的同学们可以去官方网站查询和了解。在这里插入图片描述
Spring框架又是Spring技术栈的核心,Spring框架的IOC与AOP编程方式大大简化了Java企业级开发并极大提高了开发效率,并且Spring框架优秀的低浸入式降低了代码耦合性以及其他优秀的框架的集成,这些都让Spring框架成为一个非常受欢迎的Java开发框架。

Spring框架常用模块

一个经典的Spring模块图如下所示:
在这里插入图片描述

  1. Test
    Spring Test通过Junit与TestNG实现集成测试与单元测试。
  2. Core
    核心容器(Core Container)由 Spring Bean、Spring Core、Spring Context、Spring expression四个模块组成。
  • Spring Bean 与Spring Core
    提供了控制反转(IOC)与依赖注入(DI)管理Java Bean对象,其底层使用的Bean Factory复杂工厂进行实现,使创建的对象与实际程序依赖进行解偶。
  • Spring Context
    Context继承Bean模块特性,拥有事件传播、上下文创建、资源加载等,其中Spring-Context-Support集成第三方优秀框架,以使它们可以集成Spring的上下文中。
  • Spring Expression
    是一种强大的表达式,可以用来操作和查询对象图中使用。
  1. AOP Aspects
    Spring Aop提供面向切面编程实现。
  2. Data Access、Integration
    数据访问、集成模块包含JDBC、ORM、OXM、JMS、Transition模块。
  • Spring JDBC提供了一套模版,使用其可以很方便操作数据库。
  • Spring ORM 为流行的对象关系映射提供API,如JPA与Hibernate。
  • Spring JMS 提供了消息集成模块如:生产消息与消费消息等。
  • Spring OXM 提供了一个支持对象到XML关系映射的功能。
  1. Web
    此模块由Spring Web 、Spring-Webmvc、Spring-WebSocket、Spring-Portlet等模块组成。
  • Spring web 提供了一套面向web开发的集成功能如Servlet容器监听、web应用程序上下文等。
  • Spring servlet也称Spring webmvc主要集成了Spring的MVC模块与REST服务等功能。
  • Spring webSocket基于webScoket协议开发的应用程序。

IOC

Spring通过IOC容器管理Java Bean对象的创建以及其依赖。软件开发中经常会有写耦合性强的代码,通过Spring IOC可以很好帮我解决这个问题。IOC的核心是DI,通过DI可以设置不同Java Bean组件的依赖项,并在其整个生命周期都能管理这些依赖项。这些原先需要程序亲自创建并管理的工作交给了Spring容器实现,所以称为“控制反转”,IOC实现有两种方式:一是依赖注入,另一种就是依赖查找。

  • 配置元数据
    使用Spring管理Java Bean对象之前需要我们配置元数据,Spring可以通过XML配置,也可采用注解或者基于Java类的配置,下面将介绍使用XML配置Java Bean的元数据配置和使用。

实例化Bean对象的几种方式

使用无参构造函数实例化对象

这里我们使用Maven构建我们的Spring应用,其依赖POM文件内容如下:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <spring.version>5.2.5.RELEASE</spring.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <!--引入Spring依赖包 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.8</version>
    </dependency>

  </dependencies>

  <build>
    <finalName>Spring-FramerWork</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

创建简单类Student如下:

@Data
public class Student {

    private String name;

    private Integer age;

    private String gender;

    private String address;

    public Student() {
    }
    public Student(String name, Integer age, String address) {
        this.name = name;
        this.age = age;
        this.address = address;
    }
}

Spring元数据配置XML文件内容如下:

<?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.xsd">
    <bean id="student1" class="com.codegeek.day1.Student">
        <property name="address" value="上海"/>
        <property name="name" value="小明"/>
        <property name="age" value="23"/>
        <property name="gender" value="男"/>
    </bean>
</beans>

上面的XML文件中,Id属性是标记一个bean对象的唯一标志,类似于我们生活中每个人对应的身份证一样,class属性定义Bean的类型也就是类的全路径。property属性对应Java Bean中的属性名称,而value就是对应Bean属性名的值。
新建Spring测试类如下:

public class SpringTest {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        Student student1 = applicationContext.getBean("student1", Student.class);
        System.out.println(student1);
    }
}

ApplicationContext是高级工厂接口,能维护不同的Bean及其依赖项。其提供的getBean方法可以获取一个Bean的实例对象。运行结果显示我们确实获得了一个Student对象,而这个对象是由Spring容器为我们创建的。
在这里插入图片描述
整个项目结构如下所示:
在这里插入图片描述

思考🤔几个问题?
  1. Student类在容器中何时创建?
    当我们对Java对象的构造器代码进行修改如下所示:
  • 无参构造器修改
   public Student() {
        System.out.println("Student.... 空参");
    }
  • 有参构造器修改
   public Student(String name, Integer age, String address) {
        System.out.println("Student.... 有参");
        this.name = name;
        this.age = age;
        this.address = address;
    }
  • 属性方法修改
    public void setAddress(String address) {
        System.out.println("address 被设置了");
        this.address = address;
    }
  • 测试类修改
    在这里插入图片描述
    运行结果如下:
    - 结论
    我们发现我们并没有从容器取Student对象,但是其无参构造器执行一次,然后调用对象的属性setter方法。故可知在容器初始化时Spring就已经为我们创建好了Java Bean对象。
  1. 容器获取一个不存在的对象会有什么结果?
  • 测试类修改
    在这里插入图片描述
    运行测试类后控制台输出如下:
    在这里插入图片描述
    -结论
    若尝试在IOC容器中获取不存在的对象容器将会报NoSuchBeanDefinitionException。
  1. 根据类类型获取对象需要注意什么?
    xml中新增配置如下:
    <bean id="student2" class="com.codegeek.day1.Student">
        <property name="address" value="上海"/>
        <property name="name" value="小红"/>
        <property name="age" value="24"/>
        <property name="gender" value="女"/>
    </bean>
  • 测试类代码如下:
    在这里插入图片描述
    运行结果如下所示:在这里插入图片描述
  • 结论
    程序报了No qualifying bean of type 'com.codegeek.day1.Student' available: expected single matching bean but found 2的异常,根据类型获取Java Bean对象,需要满足Bean对象在IOC容器中具有唯一定义要求。

使用有参构造函数实例化对象

Xml配置元数据如下所示:
在这里插入图片描述
测试类如下所示:
在这里插入图片描述
运行结果:
在这里插入图片描述
当Xml中value属性值类型与有参构造函数参数类型一致时可以省略name属性如下:
在这里插入图片描述
运行结果不变,但是这样配置可能出现一些问题,新增Xml元数据配置如下所示:

    <bean id="student4" class="com.codegeek.day1.Student">
        <constructor-arg value="张三"/>
        <constructor-arg value="23"/>
        <constructor-arg value="男"/>
        <constructor-arg value="北京"/>
    </bean>

运行类如下:
在这里插入图片描述
运行结果如下所示:
在这里插入图片描述
我们发现运行结果属性名对应的属性值明显不符合实际生活逻辑,故xml可以改进如下所示:
在这里插入图片描述
再次运行测试类运行结果,一起正常如下所示:
在这里插入图片描述

静态工厂方法实例化对象

当采用静态工厂方法创建Bean时,除了指定class类型之外,还需要指定其工厂方法,以便容器初始化调用此方法完成类的初始化。
定义Xml数据如下:
在这里插入图片描述
定义实体类如下:

public class InstanceFactory {
    public static Phone instance(String brandName, Double price, String producePlace) {
        return new Phone(brandName,price,producePlace);
    }

    public Phone getPhone(String brandName,Double price,String producePlace) {
        return new Phone(brandName,price,producePlace);
    }
}

使用工厂方法实例化对象

此种配置需设置factory-bean属性,而此属性的值必须是在IOC容器配置的,Xml配置如下所示:
在这里插入图片描述
测试类代码:
在这里插入图片描述
以上代码可在 codegeekgao.git 下载查看,下一章将重点学习和了解IOC容器依赖注入方式学习。

Spring学习笔记(一)——IOC 一、Spring概述 1、spring是开源的轻量级框架 2、spring核心的两个部分 aop:面向切面编程,扩展功能可以不修改源码。 ioc:控制反转,对象的创建不再通过new,而是交给spring配置创建类对象。 3、spring是一个一站式框架 web层:SpringMVC service层:Spring的ioc dao层:Spring的jdbcTemplate 二... 阅读详情

相关推荐

NDIAurora 6D、5D传感器裸线焊接与烧录 6D传感器型号:10001742;5D传感器型号:610157

NDI Aurora 6D、5D传感器裸线焊接与烧录

yanghong2000719的博客 1201

SpringIOC机制详解

所谓Bean的作用域其实就是指Spring给我们创建出的对象的存活范围,在配置文件中通过bean的scope属性指定取值范围说明singleton默认值,单例的prototype多例的requestWEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 request 域中sessionWEB 项目中,Spring 创建一个 Bean 的对象,将对象存入到 session 域中。

互联网底层民工的博客 9561

洛谷P5707 【深基2.例12】上学迟到(c语言)

第一篇题解 题目描述 yyy 的学校要求早上 8 点前到达。学校到 yyy 的家一共有 s(s\le 10000)s(s≤10000) 米,而 yyy 可以以 v(v<10000)v(v<10000) 米每分钟的速度匀速走到学校。此外在上学路上它还要额外花 10 分钟时间进行垃圾分类。请问为了避免迟到 yyy 最晚什么时候出门?输出 HH:MM 的时间格式,不足两位时补零。由于路途遥远, yyy 可能不得不提前一天出发,不过不可能提前超过一天。 输入格式 两个正整数 s,v,意思已经在题目中给定

cc_love_program的博客 1万+

Spring框架(IOC篇)

java spring框架(Ioc篇)

weixin_52489139的博客 596

Unity工业数据可视化:基于ModbusTCP的实时数据通信实战

本文详细介绍了在Unity中实现工业数据可视化的核心方法,重点讲解了基于ModbusTCP协议与PLC等工业设备进行实时数据通信的实战流程。内容涵盖NModbus库的集成、Modbus Slave模拟器的使用、TCP连接的建立与多线程安全通信、数据读写与解析,以及如何将实时数据驱动3D场景,为构建工业数字孪生与监控系统提供完整解决方案。

ol7890123的博客 555

Android 开发实战:从零到一集成 espeak-ng 实现中文离线 TTS(无需账号开箱即用)

本文详细介绍了如何在 Android 项目中集成 espeak-ng,实现中文离线语音播报。通过下载 so 库、编写 Java 接口、封装管理类,开发者可快速构建无需账号的 TTS 功能。文章覆盖从零到一的开发步骤、调试技巧及性能优化,适合中高级 Android 开发者参考。

全栈 3320

介绍SpringIOC的三种Bean对象实例化方法

2、本篇博客的背景和目的 目前我本人在学习SpringFramework的相关内容,这个也是本专栏的主题。前面的四篇文章分别认识了一下Spring,简单进行了环境的搭建,模拟了一下SpringIOC的Bean对象的实例化,最后记录了SpringIOC是如何加载配置文件。本篇博客记录的是SpringIOC对Bean对象实例化的三种方式。 3、SpringIOC的Bean对象实例化的三种方式 首先需要明确的一点是,SpringIOC实例化Bean对象的方式有三种,分别是构造器实例化,静态工厂实例化和实例化

weixin_46281472的博客 821

Protege新手必看:从安装到建模的完整指南(附推理功能详解)

本文为Protege新手提供从安装、配置到核心建模的完整实战指南。详细讲解了Java环境准备、本体项目创建、类与属性定义、个体填充等关键步骤,并重点解析了推理功能的配置与使用,帮助读者快速构建可逻辑推理的知识图谱,避开常见陷阱。

numpy6sculptor的博客 797

Spring框架——IOC

spring框架IOC部分的内容,可配合尚硅谷spring5视频实用。基于视频内容根据自己理解整理出的,按照视频顺序的笔记可以看另一位博主的文章,链接如下:https://blog.youkuaiyun.com/m0_63324772/article/details/124129130

weixin_60246887的博客 1948

基于投影法实现扫描文件的光学字符分割——Matlab实现

投影法是指将原图像沿着某个特定的方向进行投影,得到投影线上的像素点的个数或像素值总和,从而可以得到该方向上物体的轮廓信息。对于字符分割,我们可以将图像进行水平和垂直两个方向的投影,从而得到字符之间的分割线。在OCR技术中,字符分割是非常重要的一步骤,因为字符之间的分割对字符识别的准确性有很大的影响。通过对投影值的判断,可以求出字符之间的分割线,这里我们根据垂直方向上的投影值进行判断,选取一个阈值进行筛选即可。使用sum()函数分别计算出水平和垂直方向上的投影值,得到每一行和每一列的投影值。

TechGlide的博客 582

在 ABAP 世界把 SAML 2.0 玩明白:跨域 SSO 的通信模式、配置路径与落地实践

摘要 SAML 2.0是ABAP平台实现标准化SSO的推荐方案,提供Front-Channel(浏览器传递SAML报文)和Back-Channel(使用工件绑定通过SOAP兑换断言)两种通信方式。前者包括HTTP Redirect和POST绑定,后者通过Artifact绑定提升安全性。配置重点包括:激活ICF服务、使用SAML2事务码建立信任、设置用户标识映射、选择绑定方式(POST易调试、Artifact更安全)及配置安全策略(签名/加密)。典型流程包括SP-initiated和IdP-initiated

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 293

IOC流程解析-实例化和初始化

本次内容为解析核心方法剩下的全部内容,重点是bean 的实例化和初始化部分。对于其余IOC 部分内容感兴趣的小伙伴可以根据文章最后的导航栏直接跳跃。 源码分析 接着上篇文章(上篇文章是:[IOC流程解析-BeanFactoyPostProcessor和BeanPostProcessor](https://liwqtm.github.io/2022/03/14/Spring IOC-3/#more)),我们还是继续看IOC 的核心方法refresh 方法的内容。这次会提到两个面试常问的问题:BeanFacto

qq_39339965的博客 1130

利用 Python 构建高效爬虫爬取国家标准文献——从基础到进阶

然而,由于许多标准文献需要从特定网站获取,手动下载既耗时又低效,因此构建自动化爬虫成为一种实用且高效的解决方案。本文从技术选型、网站分析、代码实现到反爬优化,全面讲解了如何爬取国家标准文献。国家标准文献(National Standards Literature)是国家对各领域统一规范的文件,涵盖了技术参数、测试方法、生产工艺等内容。因此,通过自动化爬虫技术进行文献爬取和管理,不仅能解放劳动力,还可以提高数据管理效率。在构建爬虫前,我们需要对目标网站进行分析,包括页面结构、请求方式以及可能的反爬机制。

2201_76125261的博客 2105

Spring官网学习(二)IOC和Bean的实例化

本章节主要是学习Spring官网的1.1、1.2和1.3节内容,有兴趣的同学可以跟着官网一起学习。 文章目录1、Spring容器和IOC1.1、Spring容器是什么?1.2、Spring Bean是什么?1.3、IOC是什么?2、Spring容器如何实例化一个Bean2.1、Bean的实例化2.2、构造方法实例化Bean2.2.1、Demo搭建 1、Spring容器和IOC 1.1、Spri...

qq_36526036的博客 1207

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Spring入门之IOC(包含实例代码)

表现层(接受和响应数据)服务层 | 业务层(分配任务、控制流程)持久层(与数据库交互)ssm框架springmvcspringmybatis,多用于互联网项目ssh框架springmvcspringhibernet,多用于事业单位项目spring的核心有IOC(控制反转)AOP(面向切面开发)DI(依赖注入)IOC又称为控制反转,指的是把对象的创建权力交给spring框架,底层实际上是使用反射实现的,用来降低程序的耦合度。import com。

dawn191228的博客 3125

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Spring框架(一)介绍与ioc技术

Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java开发框架,由创建。简单来说,Spring是一个分层的一站式轻量级开源框架。Spring是于2003年兴起的一个轻量级的Java开发框架,由在其著作中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。

a13641376265的博客 1813

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Spring IoC容器

核心技术 发行版5.0.8 这一部分的指导文档覆盖了所有的完全集成到Spring框架中的技术。 这些技术中首要的便是Spring框架的控制反转(IoC)容器。Spring框架的IoC容器的全面的处理是与Spring的面向切面编程(AOP)的彻底实现紧密相关的。Spring框架拥有他自己的AOP框架,该技术在概念上是很容器理解的,并且成功的解决了在Java企业编程中的AOP需求的80%的点。 该框...

hongbochen1223的专栏 1万+

NO.5 Spring IOC 对象的实例化过程

NO.5 Spring IOC 对象的实例化过程 这里,我们需要知道一个名词——DI(依赖注入)。 需要一个对象,就让工厂注入进去一个对象,需要一个service,就让IOC注入一个service。 IOC就是一个大工厂,专门用来生产对象的,将图纸 (Java的class文件)给工厂,工厂就能负责建造。将class文件(图纸)配置到spring的配置文件——应用的上下文application

qq_40616042的博客 2620

Spring:IOC实例化对象bean的方式

对象已经能交给Spring的IOC容器来创建了,但是容器是如何来创建对象的呢?就需要研究下bean的实例化过程,在这块内容中主要解决两部分内容,分别是构造方法静态工厂实例工厂在讲解这三种创建方式之前,我们需要先确认一件事:bean本质上就是对象,对象在new的时候会使用构造方法完成,那创建bean也是使用构造方法完成的。基于这个知识点出发,我们来验证spring中bean的三种创建方式。

qq_41187116的博客 1238

Spring5总述(一)——Spring框架概述及入门案例

Spring框架总述 Spring框架概述 Spring是轻量级的开源的Java框架. Spring可以解决企业应用开发的复杂性. Spring有两个核心部分:I

mydesss的博客 4919

Spring 框架入门介绍及IoC的三种注入方式

- 用Spring框架来实现全新的控制反转方法,让你的应用程序更加灵活和易于维护 - 创建一个基于Spring框架的控制反转教程,帮助开发人员更好地理解和运用这个设计模式 - 探索Spring框架中控制反转的潜在优势,包括减少模块之间的耦合、提升可测试性和可扩展性 - 设计一个创新的Spring应用程序,利用控制反转实现模块之间的松耦合关系 - 分析控制反转在Spring框架中的实际应用,包括依赖注入和依赖查找的使用场景

让优秀成为一种习惯! 2831

Spring5 IOC框架详解(一)

一、Spring概述 1.1、Spring概述   Spring是分层的java SE/EE应用full—stack(全栈式)轻量级开源框架,以IOC(反转控制)和AOP(面向切面编程)两个核心,提供了展现层MVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术   Spring为简化企业级开发而生,使用Spring开发可以将Bean对象,Dao组件对象,Service组件对...

qq_25083447的博客 1777

Spring5框架学习总结一【IOC、AOP】

目录一、Spring概念入门案例二、IOC容器1. IOC底层原理2. IOC接口(BeanFactor)3. IOC操作Bean管理(基于xml)3.1 普通Bean3.2 工厂Bean3.3 Bean的作用域3.4 Bean的声明周期3.5 Bean的自动装配3.6 引入外部属性文件4. IOC操作Bean管理(基于注解)1. 注解创建对象2. 注解属性注入3. 纯注解开发三、Aop1. Aop概念2. Aop底层原理3. Aop在Spring框架中操作3.1 准备工作3.2 基于AspectJ注解3.

程序员战胜 1029

Spring01——Spring简介、Spring Framework架构、Spring核心概念、IOC入门案例、DI入门案例

Spring01——Spring简介、Spring Framework架构、Spring核心概念、IOC入门案例、DI入门案例

后端小白个人学习记录 1591

Spring入门IOC、DI

IoC 主要是针对对象的创建和调用控制而言的,也就是说,当应用程序需要使用一个对象时,不再是应用程序直接创建该对象,而是由 IoC 容器来创建和管理,即控制权由应用程序转移到 IoC 容器中,也就是“反转”了控制权。这种方式基本上是通过依赖查找的方式来实现的,即 IoC 容器维护着构成应用程序的对象,并负责创建这些对象。1.XML配置方式:是Spring框架最早的配置方式之一,通过在XML文件中定义Bean及其依赖关系、Bean的作用域等信息,让Spring IoC容器来管理Bean之间的依赖关系。

jdx20050425的博客 839

Spring5笔记IOC(一)

spring5学习笔记

学习笔记,相关教程 分享 697
上一篇: CSS文档流浮动学习
下一篇: Spring Boot java.lang.NoClassDefFoundError: io/undertow/servlet/api/DeploymentManager
Galen-gao
博客等级 码龄9年 931粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值