7.7.3:调用实例工厂方法创建Bean
2013-07-18 05:27
393 查看
Person.java :
public interface Person { public String sayHello(String name); public String sayGoodBye(String name); }Chinese.java :
public class Chinese implements Person { @Override public String sayGoodBye(String name) { return name+",再见!"; } @Override public String sayHello(String name) { return name+",你好"; } }American.java :
public class American implements Person { @Override public String sayGoodBye(String name) { return name+",Good Bye !"; } @Override public String sayHello(String name) { return name+",Hello !"; } }PersonFactory.java :
public class PersonFactory { public Person getPerson(String ethnic){ if(ethnic.equalsIgnoreCase("chin")){ return new Chinese(); }else{ return new American(); } } }bean.xml核心配置 :
<bean id="personFactory" class="com.bean.PersonFactory"/> <bean id="chinese" factory-bean="personFactory" factory-method="getPerson"> <constructor-arg value="chin"/> </bean> <bean id="american" factory-bean="personFactory" factory-method="getPerson"> <constructor-arg value="ame"/> </bean>Test.java :
public class Test { public static void main(String[] args) { ApplicationContext ctx=new ClassPathXmlApplicationContext("bean.xml"); Person p1=(Person) ctx.getBean("chinese"); System.out.println(p1.sayGoodBye("tom")+p1.sayHello("tom")); Person p2=(Person) ctx.getBean("american"); System.out.println(p2.sayGoodBye("tom")+p2.sayHello("tom")); } }运行Test.java,控制台输出:
相关文章推荐
- 7.7.3: Bean实例的创建方式及依赖配置---调用实例工厂方法创建Bean
- Spring入门学习——调用一个实例工厂方法创建Bean
- 【spring NOTE】调用实例工厂方法创建Bean
- 学习Spring(二) 调用静态工厂方法创建Bean
- 创建Bean的三种方式 在大多数情况下,Spring容器直接通过new关键字调用构造器来创建Bean实例,而class属性指定Bean实例的实现类,但这不是实例化Bean的唯一方法。实际上,Sprin
- Spring学习--静态工厂方法、实例工厂方法创建 Bean
- 7.7.2: Bean实例的创建方式及依赖配置---使用静态工厂方法创建Bean
- Spring工厂方法创建(实例化)bean实例代码
- Spring入门学习——调用静态工厂方法创建Bean
- spring创建bean的三种方式-通过构造器,通过静态工厂方法,通过实例工厂方法
- Spring使用实例工厂方法创建Bean(一)
- 通过Bean工厂创建bean实例的几种方法
- 通过调用静态工厂方法创建 Bean
- Spring Bean工厂创建Bean实例的方法之使用构造器
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- 【spring notes】 使用静态工厂方法创建Bean
- 利用反射来动态创建实例和调用方法
- 使用工厂方法创建结构体实例
- 反射应用实例--根据map中的值创建对应并调用set方法给域赋值
- 如何通过C#.NET中的反射机制来创建C#.NET泛型类的实例,并调用其方法??