Spring的xm配置文件实现依赖注入

java的SpringBoot框架想必大家已经熟练的使用,快速简单构建自己的项目,这也是设计SpringBoot框架的初衷。SpringBoot框架也是基于Spring的许多配置项进行了封装,实现了“约定大于配置"。但是过度依赖SpringBoot框架可能使我们遗忘了Spring底层的一些原理及配置,Spring底层也是Java面试中常问的点,写这篇博客记录一下Spring中xml配置bean的依赖注入。

1.新建一个maven构建的Spring项目

我用的是IDEA开发工具,File -> New -> Project 选择maven项目,点击Finish,Spring项目就建好了。如下图所示:

在这里插入图片描述
在这里插入图片描述

2.创建包及Student实体类

新建了一个包含大多数类型成员变量的Student实体类,属性注入set方法是必须的,具体代码如下:

public class Student {
    private String name;
    private Integer age;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

3.新建xml配置文件

resource -> 新建xml后缀的文件,此处beans.xml是我的文件,可以任意取名。xml文件先放入以下xml标签代码,也可以去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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>

4.在xml中注册Student类

一对标签代表一个类的bean,bean中必须配置类的id和class属性,id可以理解为类的唯一标识,从Spring IOC容器上下文获取时需要id;class属性指定注册那个类。具体代码如下:

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--    对象的创建交给Spring容器管理  相当于new 类名()指定id和class属性-->
    <bean id="student" class="com.hebeu.dao.Student"></bean>
</beans>

5.为Student实体类的属性注入值

在标签里定义属性配置标签,如果前面实体类没有属性set方法,这里就不能注入属性。属性配置标签有name和value属性。name是实体类中的属性名;value是你要赋的值。具体代码如下:

<?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
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--    对象的创建交给Spring容器管理  相当于new 类名() property相当于类中的set方法-->
    <bean id="student" class="com.hebeu.pojo.Student">
        <property name="name" value="张三"></property>
        <property name="age" value="99"></property>
    </bean>
    
</beans>

6.测试Student有没有注入成功

在test -> java ->新建一个MyTest的测试类。通过新建ClassPathXmlApplicationContext类加载beans.xml配置文件获取Spring IOC容器的上下文,再通过bean的id属性就可以获取一个Student对象了,需要强转一下类型。MyTest测试类代码如下:

public class MyTest {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        Student student = context.getBean("student", Student.class);
        System.out.println(student);
    }
}

运行结果如下:

在这里插入图片描述

7.总结

到此为止Spring的xml配置bean已经做完了,其实实体类成员变量有很多类型(引用类;list;set等),它们的配置方式不太一样,可以Spring中文文档中找一下它们的配置方法,练练手还是可以的。以此博客记录Spring xml文件配置bean的依赖注入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值