Spring4.0学习笔记 —— 通过FactoryBean配置Bean
Posted cklovefan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring4.0学习笔记 —— 通过FactoryBean配置Bean相关的知识,希望对你有一定的参考价值。
1、实现Spring 提供的FactoryBean接口
package com.spring.facoryBean; import org.springframework.beans.factory.FactoryBean; public class CarFactoryBean implements FactoryBean<Car> { private String brand; public void setBrand(String brand) { this.brand = brand; } public Car getObject() throws Exception { return new Car(brand); } public Class<?> getObjectType() { return Car.class; } public boolean isSingleton() { return true; } }
2、配置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-3.0.xsd"> <!-- 通过FactoryBean 来配置Bean 的实例 class : 指向FactoryBean的全类名 property : 配置FactoryBean的属性 实际返回的是FactoryBean 的 getObject 方法的得到的实例 --> <bean id="car" class="com.spring.facoryBean.CarFactoryBean"> <property name="brand" value="BMW"></property> </bean> </beans>
3、bean文件
package com.spring.facoryBean; public class Car { public Car(String brand) { this.brand = brand; } @Override public String toString() { return "Car [brand=" + brand + "]"; } private String brand; public void setBrand(String brand){ System.out.println("setBrand..."); this.brand = brand; } public void init(){ System.out.println("init..."); } public void destroy(){ System.out.println("destroy..."); } }
4、main方法实现
package com.spring.facoryBean; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class main { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("bean-beanFactory.xml"); Car car = (Car)ctx.getBean("car"); System.out.println(car); } }
以上是关于Spring4.0学习笔记 —— 通过FactoryBean配置Bean的主要内容,如果未能解决你的问题,请参考以下文章
Spring4.0学习笔记008——AOP的配置(基于注解)
Spring4.0学习笔记008——AOP的配置(基于注解)