`
默翁1
  • 浏览: 27147 次
社区版块
存档分类
最新评论

spring注入方法返回值

 
阅读更多

  通过MethodInvokingFactoryBean工厂Bean,可将目标方法的返回值注入为Bean的属性值。这个工厂Bean用来获取指定 方法的返回值,该方法既可以是静态方法,也可以是实例方法;这个值既可以被注入到指定Bean实例的指定属性,也可以直接定义成Bean实例

public class Person {
	//儿子,该属性是son类的一个实例
	private Son son;
	private String age;
	public Son getSon() {
		return son;
	}
	public void setSon(Son son) {
		this.son = son;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
}

 

public class Son {
	private String age;

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}
	
}

 

public class ValueGenerator {
	public String getValue(){
		return "2";
	}
	
	public static String getStaticValue(){
		return "9";
	}
}

 

<bean id="valueGenerator" class="application.ValueGenerator"></bean>
	<!-- 注入方法的返回值 -->
	<bean id="son3" class="application.Son">
		<property name="age">
			<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
				<property name="targetObject" ref="valueGenerator">
				</property>
				<property name="targetMethod">
					<value>getValue</value>
				</property>
			</bean>
		</property>
	</bean>

 

public static void main(String[] args) {
		ApplicationContext context=new ClassPathXmlApplicationContext("config/applicationContext.xml");
		Son son3=(Son)context.getBean("son3");
		System.out.println(son3.getAge());
	}
结果:2

 

分享到:
评论

相关推荐

    关于spring boot中几种注入方法的一些个人看法

    @Bean 可以使用在方法上,以便将该方法的返回值转换为一个 Spring bean。 在 Spring Boot 中,以上几种注入方法都是非常重要的,它们可以帮助我们在编写 Spring Boot 应用程序时,使代码更加简洁、灵活和可维护。

    知识共享-spring属性注入(雷惊风).

    Method返回值的注入则通过`MethodInvokingFactoryBean`来实现,它能够调用指定的目标Bean的方法,并将方法的返回值注入到另一个Bean的属性中。在XML配置中,需要指定`targetObject`和`targetMethod`属性来确定目标...

    Spring - Annotation 自动匹配注入IOC

    5. `@Configuration`和`@Bean`:在Spring 3.0引入的基于注解的配置中,`@Configuration`类可以替代XML配置文件,`@Bean`注解方法表示该方法的返回值将作为bean定义,Spring会调用该方法来创建bean实例。 6. `@Scope...

    Spring3.0.2-API.zip

    在Spring 3.0.2中,依赖注入得到了进一步优化,支持了更多类型的注入方式,如构造器注入、setter注入和基于注解的注入。 其次,Spring 3.0.2引入了全面的注解支持,这极大地简化了配置。例如,@Autowired注解用于...

    spring 宝典

    - 包括属性值注入、字段注入以及方法返回值注入等多种方式。 - **BeanPostProcessor与BeanFactoryPostProcessor** - 这两个接口可以在Bean的生命周期中进行定制化的操作,比如属性值的转换、依赖关系的调整等。 ...

    spring-boot+tk.mybatis通用mapper

    在Service层或Controller层,通过@Autowired注解注入Mapper接口,就可以直接调用其提供的方法进行数据库操作。例如,`insert`、`update`、`delete`和`selectById`等。 7. **扩展通用Mapper**: 如果有特殊需求,...

    一本很好的Spring好书和spring的API

    每个类和接口的描述、方法签名、参数以及返回值都会详细列出,有助于理解其功能和使用场景。 其次,Spring入门书籍的PDF提供了系统化的学习路径,它通常会涵盖Spring的基本概念、安装配置、实战应用等方面。书中...

    spring 3.0 jar spring最新开发包

    4. **REST支持**:Spring 3.0增加了对RESTful服务的支持,包括`@RequestMapping`注解用于映射HTTP请求,`@ResponseBody`将方法返回值直接转换为HTTP响应体。 5. **JMX支持**:提供了更好的Java Management ...

    Spring.html

    Bean:写方法上,将方法的返回值 Configuration:标记配置类 ComponentScan包扫描 PropertySource:加载配置文件 Import:导入其他配置类 AOP 概念:面向切面编程,在不改变源码的情况下对方法进行增强,抽取横...

    Spring整合MyBatis完整实例 最新 +详细注释

    最后,业务逻辑层(Service)和控制层(Controller)可以通过Spring的依赖注入获取到Mapper接口,然后调用对应的方法进行数据库操作。例如: ```java // UserService.java @Service public class UserService { @...

    spring4 源码2

    1. **依赖注入(Dependency Injection, DI)**:Spring4继续强化了依赖注入的核心特性,使得对象之间的依赖关系通过配置文件或注解来管理,降低了代码的耦合度。开发者可以使用@Autowired注解自动装配依赖,或者使用...

    Spring4.0源代码

    8. **JDBC增强**:Spring4.0的JdbcTemplate和NamedParameterJdbcTemplate进一步简化了数据库操作,提供了模板方法模式,减少SQL注入风险。 9. **Spring Data**:Spring4.0加强了对各种数据存储的支持,Spring Data...

    Spring 使用注解来实现通知

    `@AfterReturning`注解的方法会在目标方法正常执行完毕并返回后调用,可以访问到返回值。 ```java @Aspect public class ReturnLoggingAspect { @AfterReturning(pointcut = "execution(* com.example.service....

    spring3注解详解

    9. `@ResponseBody`:将方法返回值直接写入HTTP响应体,常与RESTful API结合使用。 10. `@PathVariable`:用于获取URL路径变量的值,常用于RESTful接口。 11. `@RequestParam`:用于获取请求参数,可以是查询参数...

    Spring+Spring MVC+MyBatis之零配置之路源代码

    此外,可以利用`@ResponseBody`将方法返回值直接转化为HTTP响应体。 MyBatis是一个持久层框架,它简化了数据库操作,将SQL语句与Java代码紧密集成。在没有XML配置的情况下,MyBatis的`@Mapper`注解可以用于标记...

    41. Spring Boot 使用Java代码创建Bean并注册到Spring中【从零开始学Spring Boot】

    `@Configuration`类表示这是一个配置类,`@Bean`注解方法表示该方法的返回值将作为一个Bean注册到Spring容器。 ```java @Configuration public class AppConfig { @Bean public HelloWorldService ...

    spring集成TestNG与Mockito框架单元测试方法

    同时,可以结合Spring的`@Autowired`和`@Qualifier`注解来处理多bean注入的情况。 通过这样的方式,Spring、TestNG和Mockito共同构建了一套完整的单元测试解决方案,能够有效地测试Spring应用中的各个组件,确保...

    spring-framework-4.3.30.RELEASE-docs.zip

    提供的javadoc-api文件包含了Spring框架API的详细文档,开发者可以通过查阅这些文档了解每个类和方法的用途、参数和返回值,方便代码编写和调试。 10. **Spring Boot** 虽然不在4.3.30.RELEASE的范围内,但值得一...

Global site tag (gtag.js) - Google Analytics