Java 19:Spring 2(Bean运行时值注入:占位符和SpEL表达式 )

前面一节讲Bean的配置,篇幅太长,其实还有不少东西没有加进去,比如Bean冲突,Bean作用域,Bean在不同环境下的加载,不过那些高级特性用的机会不多,就不写了。前面学习的时候,就提到,我们初始化的Bean都是硬编码的,Bean的装配除了确定Bean之间的依赖关系,将一个Bean的引用注入到另一个Bean中的属性和构造器中,将值诸如属性或构造函数也是重要的一部分。

Spring提供两种运行时求值的方式:

1、属性占位符

2、Spring表达式SpEL


属性占位符

首先是最简单的用Environment检索属性值。我们首先创建一个app.properties文件,位置就放到src下面

officeNo="office.number"
brand="app.brand"
price=1111111.1  //声明了上一节car和office的字段
思想很简单,读取文件获取Bean的初始化信息
加入了Environment的Java配置文件:

@Configuration
@PropertySource("classpath:/app.properties")
public class BossConfig {
	@Autowired
	Environment env;
	
	@Bean
	public Boss boss(){
		return new Boss();
	}
	
	@Bean
	public Car car(){
		return new Car(env.getProperty("brand"),Double.parseDouble(env.getProperty("price")));
	}	
	@Bean
	public Office office(){
		return new Office(env.getProperty("officeNo"));				
	}
}
这样就可以在运行时通过读取外部文件,诸如各个域的值。

Environment有获取property的重载函数和其他一些函数,对属性的完备性、默认值进行设置,不过也没有什么难的东西ÿ

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值