spring基于Xml管理bean---Ioc依赖注入:对象类型属性赋值(1)----外部bean的引入(bean和bean之间的引入)

文章目录


注入普通属性的方式

1、set方法注入

2、构造器(构造方法)注入

总结:

set方法注入和构造器方法的注入,在实体类中生成set方法和构造方法,然后在spring配置文件bean.xml中通过bean标签创建对象然后进行设置属性值,

go 复制代码
 <bean id="dept" class="com.guigu.dao.Dept">
        <!--set注入-->
        <!--set普通类型属性的注入-->
        <property name="name" value="java部门"></property>
        <property name="sex" value="28"></property>
    </bean>

注入对象类型属性

需求:根据员工查找员工所在部门

员工类:

javascript 复制代码
package com.guigu.dao;

public class Emp {
    //员工----部门

    private  String name;//员工姓名


    private  Dept dept;//部门



    public   void  work(){


        System.out.println("员工的姓名: " + name);

        dept.add();//调用部门的输出方法


    }

    public Emp() {
    }

    public Emp(String name, Dept dept) {
        this.name = name;
        this.dept = dept;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Dept getDept() {
        return dept;
    }

    public void setDept(Dept dept) {
        this.dept = dept;
    }
}

部门类:

go 复制代码
package com.guigu.dao;

public class Dept {

    //部门--员工

    private  String name;//姓名

    private  String sex;//性别


public  void  add(){


    System.out.println("我是dept部门的员工");
}

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

创建bean.xml文件:

1、创建dept、emp对象

go 复制代码
 <bean id="dept" class="com.guigu.dao.Dept"> </bean>
 <bean id="emp" class="com.guigu.dao.Emp"> </bean>

2、通过emp对象标签中通过属性标签引入dept

kotlin 复制代码
bean id="dept" class="com.guigu.dao.Dept">
        <!--set注入-->
        <!--set普通类型属性的注入-->
        <property name="name" value="java部门"></property>
        <property name="sex" value="28"></property>
    </bean>
    <bean id="emp" class="com.guigu.dao.Emp">
        <!--set普通类型属性的注入-->
        <property name="name" value="曹操"></property>
        <!--注入对象类型的属性
        对象类型属性: private  Dept dept;//部门
        ref:通过此属性引入Dept类中的普通属性
        -->
        <property name="dept" ref="dept"></property>

    </bean>

ref:引入外部bean,唯一标识

相关推荐
向阳2568 分钟前
SpringBoot+vue前后端分离整合sa-token(无cookie登录态 & 详细的登录流程)
java·vue.js·spring boot·后端·sa-token·springboot·登录流程
你的人类朋友22 分钟前
JS严格模式,启动!
javascript·后端·node.js
Aurora_NeAr23 分钟前
深入理解Java虚拟机-Java内存区域与内存溢出异常
后端
XiaoLeisj25 分钟前
【MyBatis】深入解析 MyBatis XML 开发:增删改查操作和方法命名规范、@Param 重命名参数、XML 返回自增主键方法
xml·java·数据库·spring boot·sql·intellij-idea·mybatis
风象南25 分钟前
SpringBoot实现数据库读写分离的3种方案
java·spring boot·后端
lzj201426 分钟前
DataPermissionInterceptor源码解读
后端
振鹏Dong32 分钟前
策略模式——本质是通过Context类来作为中心控制单元,对不同的策略进行调度分配。
java·策略模式
ChinaRainbowSea41 分钟前
3. RabbitMQ 的(Hello World) 和 RabbitMQ 的(Work Queues)工作队列
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
生无谓41 分钟前
SpringAop动态代理和AspectJ静态代理
spring
雾月5542 分钟前
LeetCode 914 卡牌分组
java·开发语言·算法·leetcode·职场和发展