在 bean 中定义一个 bean
案例代码:
Person.java
package com.baklib.custom;public class Person {private String name;private int age;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;}}
Car.java
package com.baklib.custom;public class Car {private String name;private double price;public String getName() {return name;}public void setName(String name) {this.name = name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}}
Action.java
package com.baklib.custom;public class Action {private Person person;private Car car;public Person getPerson() {return person;}public void setPerson(Person person) {this.person = person;}public Car getCar() {return car;}public void setCar(Car car) {this.car = car;}public void buyCar() {System.out.println(person.getName()+"今年"+person.getAge()+"岁,花了"+car.getPrice()+"元买了"+car.getName());}}
MainApp.java
package com.baklib.custom;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class MainApp {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");Action action = (Action) context.getBean("action");action.buyCar();}}
配置文件 Beans.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 id="action" class="com.baklib.custom.Action"><property name="person"><bean id="person" class="com.baklib.custom.Person"><property name="name" value="张三" /><property name="age" value="20" /></bean></property><property name="car"><bean id="car" class="com.baklib.custom.Car"><property name="name" value="小轿车" /><property name="price" value="100000" /></bean></property></bean></beans>
编写完以上代码,就可以运行这个程序,运行结束后,可以在控制台看到下面的信息
张三今年20岁,花了100000.0元买了小轿车
