Spring中如何实现Bean引用
来源:互联网 发布:网络医院app 编辑:程序博客网 时间:2024/05/16 09:22
组成应用程序的Bean经常需要相互协作以完成应用程序的功能,要使Bean能够相互访问,就必须在Bean配置文件中指定对Bean的引用。
在Bean的配置文件中,可以通过元素或ref属性为Bean的属性或构造器参数指定对Bean的引用。
也可以在属性或构造器里包含Bean的声明,这样的Bean称为内部Bean。
下面通过实例来演示如何通过使用property的ref属性建立bean之间的引用关系:
1、建立Car.java
package spring.beans;public class Car { private String brand; private String corp; private int price; private double maxSpeed; //创建构造器 public Car(String brand,String corp,double maxSpeed){ super(); this.brand=brand; this.corp=corp; this.maxSpeed=maxSpeed; } @Override public String toString() { return "Car [brand=" + brand + ", corp=" + corp + ", price=" + price + ", maxSpeed=" + maxSpeed + "]"; }}
2、建立Person.java
package spring.beans;public class Person { private String name; private int age; private Car car; 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; } public Car getCar() { return car; } public void setCar(Car car) { this.car = car; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", car=" + car + "]"; }}
其中get、set、toString通过自动添加:
3、配置applicationContext.xml
<?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 http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 通过 构造方法来配置bean的属性--> <!-- 使用构造器注入属性值可以指定参数的位置和参数的类型,以区分重载的构造器 --> <bean id="car" class="spring.beans.Car"> <constructor-arg value="Audi" index="0"></constructor-arg> <constructor-arg value="NanJing" index="1"></constructor-arg> <constructor-arg type="double"> <value>120</value> </constructor-arg> </bean> <bean id="person" class="spring.beans.Person"> <property name="name" value="zch"></property> <property name="age" value="24"></property> <!-- 可以使用property的ref属性建立bean之间的引用关系 --> <property name="car" ref="car"></property> </bean></beans>
4、创建Main.java
package spring.beans;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main { public static void main(String[] args){ ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); Car car=ctx.getBean(Car.class); System.out.println(car); Person person =(Person)ctx.getBean("person"); System.out.println(person); }}
5、执行Main.java,效果如下
0 0
- Spring中如何实现Bean引用
- spring bean中引用bean
- Web filter中如何引用Spring的bean
- 普通类如何引用Spring的bean?
- Spring中引用不同xml中的bean
- Spring中bean循环引用的处理
- Spring中bean之间的引用以及内部bean
- Spring中bean之间的引用以及内部bean
- 【spring bean】 spring中bean之间的引用以及内部bean
- spring bean循环引用
- spring 引用其他bean
- Spring Bean引用例子
- spring 引用其他Bean
- Spring如何实现管理Bean的。
- Spring中如何装配Bean(一)
- 在Spring中如何装配Bean
- Spring 如何在xml中配置Bean?
- 普通类中引用spring 容器管理的bean
- 安卓adb.exe无法启动
- java文件的生成及筛选类型文件
- boost基础——any(二)
- Day02 CSS,JAVAScript
- Python Singleton Summary
- Spring中如何实现Bean引用
- 关于相机矩阵
- FragmentTransaction.addToBackStack无效的问题:
- cout输出格式不常用情况
- C++ 虚函数表解析
- 【c++】求特殊方程的正整数解
- ListView上拉刷新下拉加载
- 【VB】VB操作Excel相关处理
- 把排序数组转换为高度最小的二叉搜索树