Spring Ioc(依赖注入)

Spring 依赖注入

导入相关依赖

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.20</version>
        </dependency>
    </dependencies>

编写类

public class Girl {
    private String name;

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

    public Girl(String name) {
        this.name = name;
    }
}
public class Hero {
    private int age;
    private String name;
    private List<String> happy;
    private String[] Address;
    private Map<String,String> city;
    private Girl love;

    @Override
    public String toString() {
        return "Hero{" +
                "age=" + age +
                ", name='" + name + '\'' +
                ", happy=" + happy +
                ", Address=" + Arrays.toString(Address) +
                ", city=" + city +
                ", love=" + love +
                '}';
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public List<String> getHappy() {
        return happy;
    }

    public void setHappy(List<String> happy) {
        this.happy = happy;
    }

    public String[] getAddress() {
        return Address;
    }

    public void setAddress(String[] address) {
        Address = address;
    }

    public Map<String, String> getCity() {
        return city;
    }

    public void setCity(Map<String, String> city) {
        this.city = city;
    }

    public Girl getLove() {
        return love;
    }

    public void setLove(Girl love) {
        this.love = love;
    }
}

编写spring配置文件

<?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="girl" class="com.Girl">
       <constructor-arg name="name" value="小花"></constructor-arg>
    </bean>

    <bean id="hero" class="com.Hero" >

        <property name="age" value="10"/>

        <property name="address">
            <array>
                <value>北京</value>
                <value>上海</value>
                <value>南京</value>
            </array>
        </property>

        <property name="city">
            <map>

                <entry key="中国">
                    <value>南京</value>
                </entry>

                <entry key="美国">
                    <value>曼哈顿</value>
                </entry>
            </map>
        </property>

        <property name="happy">
            <list>
                <value>足球</value>
                <value>电脑</value>
                <value>游戏</value>
                <value>音乐</value>
            </list>
        </property>

        <!--引用其他bean对象-->
        <property name="love" ref="girl"/>
        <property name="name" value="小明"/>
    </bean>
</beans>

程序测试

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public static void main(String[] args) {
        //加载 spring配置文件
        ClassPathXmlApplicationContext xml =
                new ClassPathXmlApplicationContext("beans.xml");
        // 根据id 获取bean对象
        Hero hero = xml.getBean("hero", Hero.class);
        System.out.println(hero);
    }
}

程序结果

Hero{age=10, name='小明', happy=[足球, 电脑, 游戏, 音乐], Address=[北京, 上海, 南京], city={中国=南京, 美国=曼哈顿}, love=Girl{name='小花'}}
posted @ 2022-06-07 14:04  起始者  阅读(17)  评论(0)    收藏  举报