当前位置: 首页 > article >正文

spring02 IOC DI

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.kler.cn/a/349308.html

相关文章:

  • windows下载配置CAS单点登录
  • 20241008软考架构-------软考211-216答案解析
  • SVG图库工具
  • 51单片机的家庭防盗报警系统【proteus仿真+程序+报告+原理图+演示视频】
  • 微信商户号该怎么申请
  • 【Java】多线程理论
  • Granafa配置基于elasticsearch数据源的折线图
  • 反其道而行之:学会利用市场情绪反转交易
  • Web编程---Servlet技术
  • 携程版“花呗”上线,卡在双11闯进飞猪舒适区
  • vue3 Invalid value type passed to callWithAsyncErrorHandling()
  • 【计算机网络】详谈TCP协议确认应答机制捎带应答机制超时重传机制连接管理机制流量管理机制滑动窗口拥塞控制延迟应答
  • 提高软件可靠性的容错技术
  • 0基础学习CSS(二十一)伪类
  • K8S简介及其部署
  • interwirelessac9560感叹号,电脑无法连接wifi,无法搜索到wifi
  • Tmux常用操作--云GPU版
  • LeetCode --- 418周赛
  • ubuntu24 root用户修改密码 ubuntu新系统没有创建root用户
  • python yolov8半自动标注