Spring装配Bean(七) Spring的运行时注入

本文介绍了Spring中的两种运行时注入方式:属性占位符和SpEL表达式。属性占位符允许从外部属性文件动态注入值,而SpEL则支持更复杂的表达式,如引用bean、调用方法和执行运算。详细讲解了如何使用@PropertySource、@Value注解以及PropertySourcesPlaceholderConfigurer配置。此外,还阐述了SpEL的多种功能,包括访问bean属性、调用方法、运算符和集合操作。
摘要由CSDN通过智能技术生成

Spring中两种运行时求值的方式

前面在xml中创建bean的时候,使用<construction-arg>注入属性的值的时候,采用硬编码,这种方式有时不是很合适,

Spring提供了下面方式实现,运行时注入值

1. 属性占位符(Property placeholder)

2. Spring表达式语言(SpEL)

属性占位符

*  JavaConfig中使用注解@PropertySource注解和Environment

@Configuration
@PropertySource("classpath:com/bing/config/app.properties")
public class ExpressiveConfig {
	@Autowired
	Environment env;
	@Bean
	public HelloWorld gethelloWorld(){
		return new HelloWorld(env.getProperty("message"));
	}
}

app.properties文件中

message = hello world!

@PropertySource引用了类路径中一个名为app.properties的文件,会将属性文件加载到Spring的Environment中,在使用Environment的方法获取属性值。

Environment的getProperty()方法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值