【Spring】依赖注入之bean注入

java 复制代码
package org.example;

public class Car {
    private String car_name;

    public String getCar_name() {
        return car_name;
    }
    public void setCar_name(String car_name) {
        this.car_name = car_name;
    }

    @Override
    public String toString() {
        return "Car{" +
                "car_name='" + car_name + '\'' +
                '}';
    }
}
java 复制代码
package org.example;

public class User {
    private String name;

    private Car car;

    public String getName() {
        return name;
    }

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

    public Car getCar() {
        return car;
    }

    public void setCar(Car car) {
        this.car = car;
    }

    @Override
    public String toString() {
        return "House{" +
                "name='" + name + '\'' +
                '}';
    }


}
java 复制代码
<?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="car" class="org.example.Car">
        <property name="car_name"  value="奔驰" />
    </bean>

    <bean id="user" class="org.example.User">
        <property name="name" value="张三" />
        <property name="car" ref="car" />
    </bean>
</beans>

ref表示引用型,ref="car" 表示引用了id为car的bean

name="car"是因为

java 复制代码
package org.example;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public static void main(String[] args) {
     ApplicationContext context  = new ClassPathXmlApplicationContext("beans.xml");
     User user=(User) context.getBean("user");
        System.out.println(user.getName()+"在开"+user.getCar().getCar_name());
    }
}
相关推荐
小小小小宇22 分钟前
模型相关知识
前端
小小小小宇25 分钟前
模型相关知识二
前端
犀利豆42 分钟前
AI in Harness(二)
java·人工智能·后端
IT_陈寒1 小时前
Python装饰器竟然偷偷改了函数名?这个坑我爬了三天
前端·人工智能·后端
Momo__1 小时前
Vite 8.1 打包开发模式——10000 组件冷启动 15 倍,"No Bundle Dev" 七年后被自己终结
前端·vue.js·vite
YHL2 小时前
🤖 Agent 智能体开发实战 · 第一课:Tool Use —— 让大模型自动干活
前端·javascript·人工智能
Monki2 小时前
AI 规范式 UI 设计,一键批量出页,高效落地不翻车
前端
山河木马2 小时前
渲染管线-计算得到gl_FragColor(片元着色器)之后续GPU流程
前端·webgl·计算机图形学
不想说话的麋鹿2 小时前
「项目实战」我用 Codex + GPT-5.5 + Trellis "氛围编程",独立做了一个情侣厨房小程序
前端·agent·全栈
沉静的小伙2 小时前
在微服务中使用领域事件
java·运维·微服务