先看非静态的
先写一个简单工厂
- package com.lbx.factory;
- import com.lbx.model.Car;
- /**
- * 这是非静态的工厂方法注入
- * @author Administrator
- *
- */
- public class CarFactory {
- public Car createHongQiCar(){
- Car car = new Car();
- car.setName("红旗");
- car.setSpeed("200");
- return car;
- }
- }
对应的bean.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"
- xmlns:p="http://www.springframework.org/schema/p"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <bean id="carFactory" class="com.lbx.factory.CarFactory"></bean>
- <bean id="car" factory-bean="carFactory" factory-method="createHongQiCar"></bean>
- </beans>
再看静态的(无需依赖工厂的bean)
工厂类
- package com.lbx.factory;
- import com.lbx.model.Car;
- /**
- * 这是静态的工厂方法注入
- * @author Administrator
- *
- */
- public class CarFactory2 {
- public static Car createHongQiCar(){
- Car car = new Car();
- car.setName("红旗");
- car.setSpeed("200");
- return car;
- }
- }
对应的bean2.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"
- xmlns:p="http://www.springframework.org/schema/p"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <bean id="car" class="com.lbx.factory.CarFactory2" factory-method="createHongQiCar"></bean>
- </beans>