public class Person { //儿子,该属性是son类的一个实例 private Son son; private String age; public Son getSon() { return son; } public void setSon(Son son) { this.son = son; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
public class Son { private String age; public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
<bean id="person" class="application.Person"> <property name="age" value="20"></property> <!-- 该属性是Son类的一个实例 --> <property name="son"> <bean class="application.Son"> <property name="age" value="16"></property> </bean> </property> </bean>
public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("config/applicationContext.xml"); Person person=(Person)context.getBean("person"); System.out.println("person的年龄为:"+person.getAge()); System.out.println("person的son的年龄为:"+person.getSon().getAge()); }
person的年龄为:20 person的son的年龄为:16
配置方式二:通过PropertyPathFactoryBean类,可以注入某个实例的属性值
<bean id="son1" class="application.Son"> <!-- 将person类中son的age属性输入到son1中age属性 --> <property name="age"> <bean id="person.son.age" class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/> </property> </bean>
public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("config/applicationContext.xml"); Son son1=(Son)context.getBean("son1"); System.out.println(son1.getAge()); } 结果为:16
配置方式三:使用PropertyPathFactoryBean必须指定以下两个属性。
1.targetBeanName:用于指定目标bean,确定获取哪个bean的属性值。
2.propertyPath:用于指定属性,确定获取目标bean的哪个属性值,此处的属性可直接使用 属性表达式。可以将基本数据类型的属性值定义成bean实例。
<bean id="son2" class="org.springframework.beans.factory.config.PropertyPathFactoryBean"> <property name="targetBeanName"> <value>person</value> </property> <property name="propertyPath"> <value>son</value> </property> </bean>
public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("config/applicationContext.xml"); Son son2=(Son)context.getBean("son2"); System.out.println(son2.getAge()); } 结果:16
相关推荐
1.spring 普通属性注入 2.xml中 map集合标签与其他标签不通-- 3.用junit测试
Spring属性注入:关于Spring的属性注入一共有两种方式,分别为XML方式与注解方式,其中XML方式又分为Set注入与构造方法注入,注解方式分为java注解与Spring注解
Spring注解注入属性
spring各种属性的注入 spring各种属性的注入 spring各种属性的注入
知识共享-spring属性注入(雷惊风).
主要为大家详细介绍了Spring boot工具类静态属性注入,及多环境配置详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在spring中,当属性是由工厂方法创造的,而不是用new关键字实例化的,就需要在applicationContext.xml配置工厂方法,是spring容器为我们自动注入属性
Spring Boot系列四 Spring @Value 属性注入使用总结一
NULL 博文链接:https://coolszy.iteye.com/blog/519123
NULL 博文链接:https://364232252.iteye.com/blog/2369889
今天有空,写了基于C#使用Spring.Net的演示实例,希望能给有需要的人带来帮助,其中演示了配置下的IOC、AOP、属性注入、构造函数注入、通知过滤器、以及不使用配置直接代码硬编的AOP动态代码过程,另外还增加了...
本篇文章主要介绍了Spring boot将配置属性注入到bean类中,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
知识共享-Spring注入属性值案例(雷惊风).
主要介绍了Spring中属性注入的几种方式以及复杂属性的注入详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要为大家详细介绍了Spring中属性注入,演示了int、String、数组、list等属性的注入,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
spring练习 刚刚学spring,做了个小小小项目,来加深理解。... ·其他依赖注入属性,都使用property 元素确定参数值。 Person.java PersonFactory.java Chinese.java American.java bean.xml SpringTest.java
NULL 博文链接:https://samter.iteye.com/blog/408519
今天有空,写了基于C#使用Spring.Net的演示实例,希望能给有需要的人带来帮助,其中演示了配置下的IOC、AOP、属性注入、构造函数注入、通知过滤器、以及不使用配置直接代码硬编的AOP动态代码过程,另外还增加了...
详细讲解了springioc的各种注入方式以及对应的java方式。讲解了springioc和DI的区别,以及注入特殊复杂的属性
涉及到spring依赖注入包括属性注入和对象注入