spring----filed值注入

本文详细介绍了Spring框架中filed注入的概念及其应用场景,并提供了具体的实现步骤和示例代码,包括配置静态filed注入的方法。

1.什么是filed值

filed值指的是,在static环境下的变量,该变量属于类,则叫做类filed值

                        或者非static环境下的变量,对象filed值


2.filed注入的作用.

将一个静态或者非静态的filed值赋值给实现类.(注意:filed注值和普通注值不能同时使用否则报错)


3.filed注值步骤:(接下来我们采用静态filed注值法)

3.1实现类

package test;

public class Son {
    public  int age;
    public String name;
    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

3.2.设定静态filed值(关键一步)

package test;

public class filed {
    public static final String TEST_FIELD="林泽森";
}

3.3

配置文件

<bean id="son" class="test.Son">
        <property name="name">
            <bean id="test.filed.TEST_FIELD" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"/><!--关键类,没有它,filed注入不能成功-->
        </property>
    </bean>

3.3.1(对于3.3的配置的补充)该配置中的<bean id="test.filed.TEST_FIELD">仅对于静态值域来说可以 类名.变量   而对于对象值域来说  这应该这样配置

       <bean id="filedadd" class=" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">

                        <property name="targetClass"  value="test.filed(值域所在的类)">

                        <property name="targetFiled"  value="TEST_FIELD(值域变量名)">

       </bean>



配置翻译:test.filed.TEST_FIELD的filed值通过FieldRetrievingFactoryBean类赋给test.Son类中的name属性

3.4测试类

public class filedtest {
        public static void main(String[] args) {
            ApplicationContext ac=new ClassPathXmlApplicationContext("bean.xml");
            Son son=ac.getBean("son",Son.class);
            System.out.println("系统获取son3的age属性值:"+son.getName());
        }
}

3


4.运行结果






5.总结:filed注值方式是替代了普通的注值方式(value=""),因此他们两者是不能同时兼容的.



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值