微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring实战之使用静态工厂方法创建Bean操作示例

这篇文章主要介绍了Spring实战之使用静态工厂方法创建Bean操作,结合实例形式分析了静态工厂方法创建Bean的相关实现步骤与操作注意事项,需要的朋友可以参考下

本文实例讲述了Spring实战之使用静态工厂方法创建Bean操作。分享给大家供大家参考,具体如下:

一 配置

二 接口

package org.crazyit.app.service; public interface Being { public void testBeing(); }

三 实现类

1 Cat

package org.crazyit.app.service.impl; import org.crazyit.app.service.*; public class Cat implements Being { private String msg; // msg的setter方法 public void setMsg(String msg) { this.msg = msg; } // 实现接口必须实现的testBeing方法 public void testBeing() { System.out.println(msg + ",猫喜欢吃老鼠"); } }

2 Dog

package org.crazyit.app.service.impl; import org.crazyit.app.service.*; public class Dog implements Being { private String msg; // msg的setter方法 public void setMsg(String msg) { this.msg = msg; } // 实现接口必须实现的testBeing()方法 public void testBeing() { System.out.println(msg + ",狗爱啃骨头"); } }

四 工厂类

package org.crazyit.app.factory; import org.crazyit.app.service.impl.*; import org.crazyit.app.service.*; public class BeingFactory { // 返回Being实例的静态工厂方法 // arg参数决定返回哪个Being类的实例 public static Being getBeing(String arg) { // 调用此静态方法的参数为dog,则返回Dog实例 if (arg.equalsIgnoreCase("dog")) { return new Dog(); } // 否则返回Cat实例 else { return new Cat(); } } }

五 测试类

package lee; import org.springframework.context.*; import org.springframework.context.support.*; import org.crazyit.app.service.*; public class SpringTest { public static void main(String[] args) { // 以类加载路径下的配置文件创建ClassPathResource实例 ApplicationContext ctx = new ClasspathXmlApplicationContext("beans.xml"); Being b1 = ctx.getBean("dog" , Being.class); b1.testBeing(); Being b2 = ctx.getBean("cat" , Being.class); b2.testBeing(); } }

六 测试结果

我是狗,狗爱啃骨头

我是猫,猫喜欢吃老鼠

更多关于java相关内容感兴趣的读者可查看本站专题:《Spring框架入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐