首页  >  文章  >  Java  >  如何将属性值注入到通过注解配置的 Spring Bean 中?

如何将属性值注入到通过注解配置的 Spring Bean 中?

Barbara Streisand
Barbara Streisand原创
2024-11-08 09:25:02483浏览

How to Inject Property Values into Spring Beans Configured via Annotations?

通过注释配置的 Spring Bean 的属性注入

通过注释检测到的 Spring beans 在注入属性值时提出了挑战。虽然 PropertyPlaceholderConfigurer 可以从外部文件加载属性,但仅在 XML 配置中设置 bean 属性的值对这些 bean 不起作用。

为了解决这个问题,Spring 3 引入了 EL 支持,允许注入值动态地。特别是:

使用 EL 表达式注入值

@Value("#{.} 允许直接从隐式注入属性的值object.
@Value("#{.} 还可以从指定的 bean 注入属性。
例如,注入“results.max” " 来自外部属性文件的属性:

@Repository("personDao")
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {

    @Resource(name = "propertyConfigurer")
    protected void setProperties(PropertyPlaceholderConfigurer ppc) {
        maxResults = ppc.getProperties().getProperty("results.max"); 
    }
}

EL 还提供了更复杂的选项来操作值、检索 bean 引用和解析占位符。

以上是如何将属性值注入到通过注解配置的 Spring Bean 中?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn