spring02 IOC DI

embedded/2024/10/15 20:19:31/

IOC、DI

1. Spring 给对象的属性赋值的两种方式

   1. 有参构造注入

       1. 必须提供有参构造方法

 @AllArgsConstructor
 public class Student {

 }

      2. applicationContext.xml配置

<!--通过有参构造方法给属性赋值创建Student组件对象-->
<bean id="stu" class="com.bdqn.pojo.Student">
    <constructor-arg name="sno" value="1001"></constructor-arg>
    <constructor-arg name="name" value="小张"></constructor-arg>
    <constructor-arg name="age" value="18"></constructor-arg>
</bean>

    index: 索引,索引号从0开始

  type:类型   

name:名称

    value: 赋值:基本类型和基本类型的包装类以及String类型。

    ref :值 需要引用另一个对象

  

  2. 设值注入 (set方法赋值)

     1. 必须提供set方法

 @Data
 public class Student {

 }

     2. 配置文件中配置

<!--通过set注入给属性赋值,创建Student组件对象-->
<bean id="stu2" class="com.bdqn.pojo.Student">
    <property name="sno" value="1002"></property>
    <property name="name" value="翠花"></property>
    <property name="age" value="19"></property>
</bean>

2. 属性不同数据类型赋值的语法
  1. 基本类型或基本类型的包装类或String字符串类型

<!--基本类型或String类型赋值-->
<property name="sno" value="1008"></property>
<property name="name">
    <value>老王</value>
</property>

  2. 数组类型

<property name="nickNames">
    <array>
        <value>王王</value>
        <value>老老</value>
    </array>
</property>

  3. List 类型

<property name="nickNames">
    <list>
        <value>王王</value>
        <value>老老</value>
    </list>
</property>

  4. Set 类型

<property name="nickNames">
    <set>
        <value>王王</value>
        <value>老老</value>
    </set>
</property>

  5. Map 类型

<property name="girls">
    <map>
        <entry key="1" value="村花"></entry>
        <entry key="2" value="翠花"></entry>
    </map>
</property>

 6. Properties类型 ,属性配置类型

<property name="properties">
    <props>
        <prop key="qq">138389438</prop>
        <prop key="pwd">520209420</prop>
    </props>
</property>

3. DI

 DI: 依赖注入(Dependency Injection),IOC和DI完全一样。

    在一个类对象(service)中需要依赖于另一个类对象(dao),

将另一个类对象(dao)注入给对象(service)的过程,称为依赖注入。

  示例:

<bean id="stu3" class="com.bdqn.pojo.Student">

<!--将年级对象注入给学生对象的年级属性-->
    <property name="grade" ref="grade"></property>
</bean>

<!--创建年级对象组件-->

<bean id="grade" class="com.bdqn.pojo.Grade">
    <property name="id" value="1"></property>
    <property name="name" value="S3"></property>
</bean>

4. 查看Spring容器中管理所有对象

String[] names=ac.getBeanDefinitionNames();

   for (String name : names) {

System.out.println(name);

   }


http://www.ppmy.cn/embedded/127408.html

相关文章

高校学科竞赛平台开发:SpringBoot技术选型与应用

3系统分析 3.1可行性分析 通过对本高校学科竞赛平台实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本高校学科竞赛平台采用SSM框架&#xff0c;JAVA作为开发语…

Kafka之资源容量评估

编写目的意义 应用场景为如果有租户需要部署kafka集群&#xff0c;并给出业务压力&#xff0c;根据业务评估kafka资源情况&#xff0c;如cpu 磁盘 内存 带宽等维度。为业务解决因资源过小故障和新业务部署提供了参考和计算方法&#xff0c;减少后续的维护成本 资源容量评估 …

树莓派应用--AI项目实战篇来啦-15.SSD Mobilenet V3目标检测

1. Mobilenet 介绍 Mobilenet 是一种专为移动和嵌入式视觉应用而设计的卷积神经网络。它们不使用标准的卷积层&#xff0c;而是基于使用深度可分离卷积的简化架构&#xff0c;使用这种架构&#xff0c;我们可以为移动和嵌入式设备&#xff08;例如&#xff1a;树莓派&#xff0…

MySQL 之索引和查询优化

在 MySQL 数据库中&#xff0c;索引是提高查询性能的重要手段之一。而理解和应用最左前缀原则对于有效地利用索引进行查询优化至关重要。 一、索引的作用 索引是一种数据结构&#xff0c;它可以帮助数据库系统快速地定位和检索数据。通过在表的某些列上创建索引&#xff0c;数…

SketchUp Pro 2024 for Mac 3D建模 草图设计大师软件安装【保姆级教程,简单小白轻松上手】

Mac分享吧 文章目录 SketchUp Pro 3D建模 草图设计大师软件 安装完成&#xff0c;软件打开效果一、Mac中安装SketchUp Pro 3D建模 草图设计大师软件——v241️⃣&#xff1a;下载软件2️⃣&#xff1a;安装软件&#xff0c;将安装包从左侧拖入右侧文件夹中3️⃣&#xff1a;应…

浏览器内置语音识别功能Web Speech API - SpeechRecognition

中文语音识别技术在近年来取得了显著的进步&#xff0c;广泛应用于各种场景&#xff0c;如智能助手、客户服务、语音输入等。在Web开发中&#xff0c;可以利用Web Speech API来实现中文语音识别功能。以下是实现中文语音识别的一些基本步骤和注意事项。 Web Speech API - Spee…

CompletableFuture介绍与实战

简介 CompletableFuture是Java 8中引入的一个类&#xff0c;它实现了CompletionStage接口&#xff0c;是Future接口的一个增强版本。它提供了一种灵活、可组合的方式来实现异步计算&#xff0c;同时也提供了异常处理、取消、超时等特性。以下是对CompletableFuture的详细介绍&…

linux hugepages

使用HugePages的优点&#xff1a; HugePages是Linux内核的一个特性&#xff0c;使用hugepage可以用更大的内存页来取代传统的4K页面。使用HugePage主要带来以下好处&#xff1a; 1. HugePages 会在系统启动时&#xff0c;直接分配并保留对应大小的内存区域。 2. HugePages 在…