`
esffor
  • 浏览: 1367442 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring高级注入之Field值注入

阅读更多

filed数值(也就是静态常量) 注入是通过fieldRetrievingFactoryBean完成的,这个类用来获取目标bean的filed数值

 

package Bean.superIOCfield;

public class Field ...{
   
public static final String TEST_FIELD="welcom";
}


实体类:

 

package Bean.superIOCfield;

public class Person ...{
   
private Son son;
   
private String age;
public String getAge() ...{
    
return age;
}

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

public Son getSon() ...{
    
return son;
}

public void setSon(Son son) ...{
    
this.son = son;
}

}



package Bean.superIOCfield;

public class Son ...{
  
private String age;

public String getAge() ...{
    
return age;
}


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

}


配置文件:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

  
<bean id="son" class="Bean.superIOCfield.Son">
     
<property name="age">
       
<bean id="Bean.superIOCfield.Field.TEST_FIELD" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"></bean>
     
</property>
  
</bean>
</beans>


测试代码:

 

public static void main(String[] args) throws Exception ...{
        
        String path
=new Test().getClass().getResource("/").getPath();
        String realpath
=path.substring(1, path.length());
        ApplicationContext context
=new FileSystemXmlApplicationContext(realpath+"/superIOCfield.xml");
        Son son1
=(Son)context.getBean("son");
       

        System.out.println(
"person age is:"+son1.getAge());

    }


运行结果:

person age is:welcom



分享到:
评论

相关推荐

    自己的代码模拟spring的依赖注入

    在IT行业中,Spring框架是Java开发中的一个基石,尤其在控制反转(IoC)和依赖注入(DI)方面。依赖注入是一种设计模式,它允许我们解耦组件,提高代码的可测试性和可维护性。Spring框架通过IoC容器来实现DI,让我们...

    Java反射、泛型和注解实战之Spring核心注入IOC的实现

    例如,`@Component`、`@Service`、`@Repository`和`@Controller`用于标记组件,`@Autowired`用于自动装配依赖,`@Qualifier`用于指定特定的bean,`@Value`用于注入值,`@Scope`定义bean的作用域等。 实现类似Spring...

    面试官常问的spring依赖注入和bean的装配问题.pdf

    setter注入是Spring框架中最常用的依赖注入方式之一,它遵循JavaBean的规范。通过定义无参构造函数,并为每个依赖项提供相应的setter方法,Spring容器在创建Bean后,通过调用setter方法将依赖项注入到Bean中。这种...

    知识共享-spring属性注入(雷惊风).

    Field值的注入,即直接将值注入到类的成员变量中,这在Spring中通常通过`FieldRetrievingFactoryBean`来完成。该工厂Bean用于获取类的静态变量,并将其注入到其他Bean的属性中。例如,在`CarBrandType`接口中定义了...

    模拟spring的xml配置文件注入

    例如,我们可以使用`Class.forName(className)`加载类,`newInstance()`创建对象,`Field`类获取并设置属性值,以及`Method`类调用setter方法。 模拟Spring的XML配置文件注入,还需要实现一个Bean工厂类,它负责...

    Spring自动注入的简单实现

    Spring自动注入机制是Spring框架的核心特性之一,它通过依赖注入(Dependency Injection,简称DI)来管理对象间的依赖关系,降低了类之间的耦合度。本文主要探讨一个简单的Spring自动注入实现,帮助理解其工作原理。...

    Spring注入方式有哪些

    - **FieldRetrievingFactoryBean**:注入其他Bean的字段(Field)值,直接访问类或对象的Field。 - **MethodInvokingFactoryBean**:调用指定Bean的普通方法,可以用于初始化操作。 6. **Prototype作用域的Bean...

    基于SpringBoot构造器注入循环依赖及解决方式

    - **使用Setter/Field注入**:另一种方法是改用setter注入或字段注入。这样,依赖直到被真正使用时才会被注入,避免了构造器阶段的循环依赖问题。在`CircularDependencyA`中添加setter方法,并移除构造器注入,可以...

    夏昕spring

    依赖注入是Spring框架的核心特性之一,它允许对象的依赖关系在运行时动态地注入,而非在编译时硬编码。这种解耦方式提高了代码的可测试性和可维护性。Spring支持三种主要的依赖注入方式: 1. **构造器注入...

    详解Spring @Autowired 注入小技巧

    Spring @Autowired 注入小技巧 在 Spring 框架中,@Autowired 注解是用来实现自动依赖注入的。它可以根据类型(Type)进行自动注入,并且默认注入的 bean 为单例(SingleTon)的。下面我们来详解一些 @Autowired ...

    详解Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理

    @Autowired 是 Spring 框架提供的依赖注入注解,主要支持在 set 方法、field 和构造函数中完成 bean 注入。其注入方式是通过类型查找 bean,即 byType 的,如果存在多个同一类型的 bean,则使用 @Qualifier 来指定...

    Spring中如何动态注入Bean实例教程

    在 Spring 中,基于标注的方式注入实例需要在 Bean 初始化之时,其依赖的对象必须初始化完毕。如果被注入的对象初始化晚于当前对象,则注入的对象将为 null。 1.1 @Autowired 按照类型来加载 Spring 管理的 Bean,...

    Spring注入Date类型的三种方法总结

    -- 使用SpEL表达式注入Date对象 --&gt; &lt;bean id="datebean" class="com.springDemo1.Date类型注入.DateBean"&gt; &lt;property name="birthday"&gt; &lt;util:constant static-field="java.util.Calendar.DAY_OF_MONTH" /&gt; ...

    Spring系列面试题129道(附答案解析)

    - 字段注入(Field Injection) - 接口注入(Interface Injection) 12、区分构造函数注入和setter注入。 构造函数注入是指在构造对象时通过构造函数的参数来注入依赖关系,这种方式使得依赖关系必须在构造时提供,...

    深度理解,自己实现java动态代理、自动注入、切面编程(类似于Spring IOC、AOP)

    自动注入是Spring框架的核心特性之一,它允许框架根据依赖关系自动地将对象注入到其他对象中,减少了手动配置和对象之间的硬编码依赖。在Spring中,主要有两种注入方式:setter注入和构造器注入。在自己实现时,可以...

    Spring ioc Spring ioc

    3. field注入:直接将依赖对象注入到类的成员变量中。 例如,`HelloImpl4`类依赖于`Message`类,我们可以编写如下的XML配置来实现setter注入: ```xml &lt;bean id="message" class="org.yihang.spring.Message"&gt;...

    反射与依赖注入DEMO

    在编程领域,反射和依赖注入是两种非常重要的概念,它们都是高级编程技术,可以极大地提升代码的灵活性和可维护性。下面将详细讲解这两个概念及其在实际应用中的DEMO示例。 **反射** 反射是Java(以及其他一些面向...

Global site tag (gtag.js) - Google Analytics