本文实例讲述了春天实战之使用静态工厂方法创建Bean操作。分享给大家供大家参考,具体如下:
& lt; & # 63; xml version=" 1.0 " encoding=" GBK " & # 63;比; & lt;豆类xmlns: xsi=" http://www.w3.org/2001/XMLSchema-instance " xmlns=" http://www.springframework.org/schema/beans " xsi: schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd”比; & lt; !——下面配置驱动弹簧调用BeingFactory的静态getBeing()方法来创建Bean 该bean元素包含的constructor-arg元素用于为静态工厂方法指定参数, 因此这段配置会驱动春天以反射方式来执行如下代码: 狗=org.crazyit.app.factory.BeingFactory.getBeing(“狗”);——比; & lt; bean id=肮贰崩?皁rg.crazyit.app.factory.BeingFactory” 工厂方法=癵etBeing”比; & lt; !——配置静态工厂方法的参数——比; & lt; constructor-arg值=" https://www.yisu.com/zixun/dog "/比; & lt; !——驱动春天以“我是狗”为参数来执行狗的setMsg()方法——比; & lt;属性名=拔毒奔壑?" https://www.yisu.com/zixun/我是狗”/比; & lt;/bean> & lt; !——下面配置会驱动春天以反射方式来执行如下代码: 狗=org.crazyit.app.factory.BeingFactory.getBeing(“猫”);——比; & lt; bean id=懊ā崩?皁rg.crazyit.app.factory.BeingFactory” 工厂方法=癵etBeing”比; & lt; !——配置静态工厂方法的参数——比; & lt; constructor-arg值=" https://www.yisu.com/zixun/cat "/比; & lt; !——驱动春天以“我是猫”为参数来执行狗的setMsg()方法——比; & lt;属性名=拔毒奔壑?" https://www.yisu.com/zixun/我是猫”/比; & lt;/bean> & lt;/beans> >之前
包org.crazyit.app.service; 公共接口 { 公共空间testBeing (); } >之前
1只猫
包org.crazyit.app.service.impl; 进口org.crazyit.app.service。*; 公共类猫实现 { 私人字符串味精;//味精的setter方法 公共空间setMsg(字符串味精) { 这一点。味精=味精; }//实现接口必须实现的testBeing方法 公共空间testBeing () { system . out。println(味精+ ”,猫喜欢吃老鼠”); } } >之前2只狗
包org.crazyit.app.service.impl; 进口org.crazyit.app.service。*; 公共类狗实现 { 私人字符串味精;//味精的setter方法 公共空间setMsg(字符串味精) { 这一点。味精=味精; }//实现接口必须实现的testBeing()方法 公共空间testBeing () { system . out。println(味精+ ”,狗爱啃骨头”); } } >之前
包org.crazyit.app.factory; 进口org.crazyit.app.service.impl。*; 进口org.crazyit.app.service。*; 公开课BeingFactory {//返回被实例的静态工厂方法//参数参数决定返回哪个被类的实例 公共静态getBeing(字符串参数) {//调用此静态方法的参数为狗,则返回狗实例 如果(arg.equalsIgnoreCase(“狗”)) { 返回新狗(); }//否则返回猫实例 其他的 { 返回新猫(); } } } >之前
李包; 进口org.springframework.context。*; 进口org.springframework.context.support。*; 进口org.crazyit.app.service。*; 公开课SpringTest { 公共静态void main (String [] args) {//以类加载路径下的配置文件创建ClassPathResource实例 ApplicationContext ctx=new ClassPathXmlApplicationContext(“它指明”); 在b1=ctx。getBean(“狗”,Being.class); b1.testBeing (); b2=ctx。getBean(“猫”,Being.class); b2.testBeing (); } } >之前
我是狗,狗爱啃骨头
引用>
我是猫,猫喜欢吃老鼠更多关于java相关内容感兴趣的读者可查看本站专题:《春天框架入门与进阶教程》、《java数据结构与算法教程》、《java操作DOM节点技巧总结》,《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总》
春天实战之使用静态工厂方法创建Bean操作示例