Spring 开发之MethodInvokingFactoryBean学习
2015-05-26 18:05
441 查看
最近接触基于Spring的项目,发现机会每个Spring XML配置中,几乎都有MethodInvokingFactoryBean,但来出来学习下。
用来做什么
通过MethodInvokingFactory Bean类,可注入方法返回值。 MethodInvokingFactoryBean用来获得某个方法的返回值,该方法既可以是静态方法,也可以是实例方法。该方法的返回值可以注入bean实例属性,也可以直接定义成bean实例。
代码示例
获取静态方法返回值,直接定义成bean实例,XML配置
Java 执行代码
执行如下
使用静态方法(static method)注入时有两种选择,一种是需要指定如下两个属性(也是我看到的目前所有网上资料所说):
targetClass: 确定目标 class。
targetMethod: 确定目标方法,确定通过目标 bean 的哪个方法返回值注入。
另一种方法是仅指定staticmethod,例如上边的Spring XML可以配置为如下可实现同样功能
也就是说,必须Set a fully qualified static method name to invoke。
使用bean 实例的方法(instance method)返回值注入,通过 MethodInvokingFactoryBean 完成,但必须指定以下两个属性。
targetObject: 确定目标 bean,该 bean 可以是容器中己有的 bean,也可是嵌套 bean。
targetMethod: 确定目标方法,确定通过目标 bean 的哪个方法返回值注入。
引用如上生成的bean实例,注入site属性新生成的bean实例,XML如下
Java代码
执行结果为
配置文件将实例方法返回值直接定义成bean这种方式,也可用于定义静态工厂方法来创建bean 实例,或用实例工厂方法来创建 bean 实例。
用来做什么
通过MethodInvokingFactory Bean类,可注入方法返回值。 MethodInvokingFactoryBean用来获得某个方法的返回值,该方法既可以是静态方法,也可以是实例方法。该方法的返回值可以注入bean实例属性,也可以直接定义成bean实例。
代码示例
获取静态方法返回值,直接定义成bean实例,XML配置
targetClass: 确定目标 class。
targetMethod: 确定目标方法,确定通过目标 bean 的哪个方法返回值注入。
另一种方法是仅指定staticmethod,例如上边的Spring XML可以配置为如下可实现同样功能
使用bean 实例的方法(instance method)返回值注入,通过 MethodInvokingFactoryBean 完成,但必须指定以下两个属性。
targetObject: 确定目标 bean,该 bean 可以是容器中己有的 bean,也可是嵌套 bean。
targetMethod: 确定目标方法,确定通过目标 bean 的哪个方法返回值注入。
引用如上生成的bean实例,注入site属性新生成的bean实例,XML如下
相关文章推荐
- spring开发 MethodInvokingFactoryBean的学习
- spring开发 MethodInvokingFactoryBean的学习
- spring开发 MethodInvokingFactoryBean的学习
- Quartz学习(七)--Spring整合Quartz(MethodInvokingJobDetailFactoryBean方式)
- spring学习----MethodInvokingFactoryBean(二)
- spring开发_注入其他Bean的方法返回值_MethodInvokingFactoryBean
- Quartz学习--Spring整合Quartz(MethodInvokingJobDetailFactoryBean方式)
- Spring 静态注入讲解(MethodInvokingFactoryBean)
- Spring里MethodInvokingJobDetailFactoryBean定时任务的小示例
- Spring整合Quartz(MethodInvokingJobDetailFactoryBean方式)
- Quartz-Spring[一]之MethodInvokingJobDetailFactoryBean配置任务
- 定时器quartz结合spring使用(方法二MethodInvokingJobDetailFactoryBean)
- Spring 整合Quartz两种方式比较(JobDetailBean和MethodInvokingJobDetailFactoryBean方式)
- Quartz-Spring[一]之MethodInvokingJobDetailFactoryBean方法
- Spring整合quartz配置【一】基于MethodInvokingJobDetailFactoryBean实现任务管理
- org.springframework.beans.factory.config.MethodInvokingFactoryBean的使用
- Spring中的MethodInvokingFactoryBean使用
- 使用Spring提供的 MethodInvokingJobDetailFactoryBean 代理类调度定时器
- Spring 整合Quartz两种方式(JobDetailBean和MethodInvokingJobDetailFactoryBean方式)
- spring+quartz定时任务配置---MethodInvokingJobDetailFactoryBean