Spring使用静态工厂方法创建Bean(一)

编程入门 行业动态 更新时间:2024-10-10 03:33:23

Spring使用<a href=https://www.elefans.com/category/jswz/34/1771395.html style=静态工厂方法创建Bean(一)"/>

Spring使用静态工厂方法创建Bean(一)

整体代码结构: 


Being.java:


package com.kinsey.woo.staticfactory.app.service;public interface Being {public void say();
}

Cat.java

package com.kinsey.woo.staticfactory.app.dto;import com.kinsey.woo.staticfactory.app.service.Being;public class Cat implements Being {public String msg;public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Cat(String msg){this.msg = msg;}@Overridepublic void say() {System.out.println(msg+ ",猫爱吃鱼.");}}

Dog.java

package com.kinsey.woo.staticfactory.app.dto;import com.kinsey.woo.staticfactory.app.service.Being;public class Dog implements Being {public String msg;public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Dog(String msg) {super();this.msg = msg;}@Overridepublic void say() {System.out.println(msg + ",狗爱吃骨头.");}}


静态工厂类

AnimalStaticFactory.java

package com.kinsey.woo.staticfactory;import com.kinsey.woo.staticfactory.app.dto.Cat;
import com.kinsey.woo.staticfactory.app.dto.Dog;
import com.kinsey.woo.staticfactory.app.service.Being;public class AnimalStaticFactory {private final static String CAT = "cat";private final static String DOG = "dog";public static Being produce(String msg){if(AnimalStaticFactory.CAT.equals(msg)){return new Cat(msg);}else if(AnimalStaticFactory.DOG.equals(msg)){return new Dog(msg);}else{return new Being() {@Overridepublic void say() {System.out.println("匿名方法");}};}}}


RunMain.java

package com.kinsey.woo.staticfactory;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.kinsey.woo.staticfactory.app.dto.Cat;
import com.kinsey.woo.staticfactory.app.dto.Dog;public class RunMain {public static void main(String[] args) {@SuppressWarnings("resource")ApplicationContext ctx = new ClassPathXmlApplicationContext("springconf.xml"); Cat cat = (Cat) ctx.getBean("cat");Dog dog = (Dog) ctx.getBean("dog");cat.say();dog.say();}
}


结果见图一。








更多推荐

Spring使用静态工厂方法创建Bean(一)

本文发布于:2024-03-05 09:43:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1711951.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:静态   工厂   方法   Spring   Bean

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!