Spring Expression Language (SpEL) with @Value: dollar vs. hash ($ vs. #)
${…} is the property placeholder syntax. It can only be used to dereference properties. #{…} is SpEL syntax, which is far more capable and complex. It can also handle property placeholders, and a lot more besides. Both are valid, and neither is deprecated.