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

spring开发_注入其他Bean的方法返回值_MethodInvokingFactoryBean

gallery/image/112562.html">http://www.cnblogs.com/hongten/gallery/image/112562.html

方法返回值/src/com/b510/app/test/SpringTest.java

com.b510.app.test; org.springframework.context.ApplicationContext; org.springframework.context.support.ClasspathXmlApplicationContext; com.b510.service.AnimalService; SpringTest { main(String[] args) { ApplicationContext act= ClasspathXmlApplicationContext("beans.xml"); 普通方法,获取到值 AnimalService dogServiceBean=(AnimalService) act.getBean("dog1"); System.out.println("获取dog1的年龄为:"+dogServiceBean.getAge()); 方法,获取到值 AnimalService dogServiceBean2=(AnimalService) act.getBean("dog2"); System.out.println("获取dog2的年龄为:"+dogServiceBean2.getAge()); String info=(String) act.getBean("javaVersion"); System.out.println("系统的java版本是:"+info); } }

方法返回值/src/com/b510/app/util/ValueGenerator.java

com.b510.app.util; ValueGenerator { 一个普通的方法获取年龄 一个int类型的值 getAgeValue() { 23; } 一个静态方法获取年龄 一个int类型的值 getAgeStaticValue() { 20; } }

方法返回值/src/com/b510/service/AnimalService.java

com.b510.service; AnimalService { 一个抽象方法setAge aram setAge( age); 一个抽象方法getAge 一个int类型的值 getAge(); }

方法返回值/src/com/b510/service/impl/DogServiceBean.java

com.b510.service.impl; com.b510.service.AnimalService; DogServiceBean AnimalService { age; getAge() { age; } setAge( age) { .age = age; } }

factorybean工厂Bean,可以将指定方法返回值注入成为目标Bean的属性值,MethodInvokingfactorybean用来获得指定方法的返回值,该方法可以是静态方法

方法。

方法返回值既可以被注入到指定Bean实例的指定属性,也可以直接定义成Bean实例。

方法返回值/src/beans.xml

xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http:spring-beans-3.0.xsd"> ="com.b510.app.util.ValueGenerator"> ="com.b510.service.impl.DogServiceBean"> ="org.springframework.beans.factory.config.MethodInvokingfactorybean"> ="com.b510.service.impl.DogServiceBean"> ="org.springframework.beans.factory.config.MethodInvokingfactorybean"> getmethod" value="getAgeStaticValue"> ="org.springframework.beans.factory.config.MethodInvokingfactorybean"> ="org.springframework.beans.factory.config.MethodInvokingfactorybean"> java.version

2012-3-12 12:12:51 org.springframework.context.support.AbstractApplicationContext prepareRefresh 信息: Refreshing org.springframework.context.support.ClasspathXmlApplicationContext@1a05308: display name [org.springframework.context.support.ClasspathXmlApplicationContext@1a05308]; startup date [Mon Mar 12 12:12:51 CST 2012]; root of context hierarchy 2012-3-12 12:12:51 org.springframework.beans.factory.xml.XmlBeanDeFinitionReader loadBeanDeFinitions 信息: Loading XML bean deFinitions from path resource [beans.xml] 2012-3-12 12:12:54 org.springframework.context.support.AbstractApplicationContext obtainFreshbeanfactory 信息: Bean factory application context [org.springframework.context.support.ClasspathXmlApplicationContext@1a05308]: org.springframework.beans.factory.support.DefaultListablebeanfactory@bfc8e0 2012-3-12 12:12:54 org.springframework.beans.factory.support.DefaultListablebeanfactory preInstantiateSingletons 信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListablebeanfactory@bfc8e0: defining beans [valueGenerator,dog1,dog2,sysProps,javaVersion]; root of factory hierarchy 获取dog1的年龄为:23 获取dog2的年龄为:20 系统的java版本是:1.6.0_22

factorybean功能很强大,通过这个工厂Bean,我们可以通过Spring配置文件调用指定的方法,并且获取方法飞返回值。

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

相关推荐