Java学习--spring框架--入门依赖注入

本文深入讲解了Spring框架中的三种依赖注入方式:属性注入、构造器注入和工厂方式注入。详细介绍了每种注入方式的实现原理及配置方法,帮助读者更好地理解和运用Spring的依赖注入机制。

1. 属性注入

属性注入,就是通过setter方法,注入Bean的属性或者依赖的对象
在属性注入中通常使用property元素,使用name属性指定Bean的属性名称,使用value指定属性值

   <bean id="helloWorld" class="spring.beans.HelloWorld">
        <property name="name" value="Spring"></property>
    </bean>

2. 构造器注入

构造方式注入Bean的属性值或者依赖的对象
构造器注入在constructor-arg元素中声明属性
设置一个类User.java

public class User {
    private String name;
    private int age;

    public   User(String name,int age){
        super();
        this.name = name;
        this.age = age;
    }

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

配置xml文件

<bean id="user" class="spring.beans.User">
        <constructor-arg value="张三" type="java.lang.String"></constructor-arg>
        <constructor-arg value="11" index="1"></constructor-arg>
    </bean>

在主函数中进行调用

public class Main {
    public static void main(String[] args) {
//        1. 创建Spring的IOC容器对象
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//        2. 从IOC容器中获取Bean实例
        User user = applicationContext.getBean(User.class);
//        3. 调用hello方法
        System.out.println(user.toString());
    }
}

运行结果
运行结果

注意如果设置值中包含有特殊字符则可以这样配置xml

<bean id="user" class="spring.beans.User">
        <constructor-arg  type="java.lang.String">
            <value><![CDATA[《张三!@>]]></value>
        </constructor-arg>
        <constructor-arg value="11" index="1"></constructor-arg>
    </bean>

3. 工厂方式注入(不推荐)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值