Home  >  Article  >  Java  >  How Can I Inject Property Values into Beans Configured with Annotations in Spring?

How Can I Inject Property Values into Beans Configured with Annotations in Spring?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-09 05:06:02495browse

How Can I Inject Property Values into Beans Configured with Annotations in Spring?

Property Injection into Beans Configured Using Annotations in Spring

In Spring, beans are often configured using annotations to simplify dependency injection and classpath scanning. However, if you need to inject property values from an external source like a properties file, you may encounter challenges.

Problem Statement

Consider a Java class annotated as a Spring bean:

This bean is configured via annotations, and you want to inject a property value from an app.properties file into it. However, since the bean is not declared in the Spring XML file, the usual element approach cannot be used.

Property Injection Using EL Support

Spring provides EL (Expression Language) support that enables property injection directly into annotated beans. To do this:

  1. Add the following dependency to your project's pom.xml:
  1. Use the @Value annotation to inject the property value:

Example for Injecting Property from Properties Object

You can also use @Value to inject properties from a Properties object:

Additional Information

  • The systemProperties object provides access to system properties.
  • @Value can also be applied to fields for direct injection.
  • For more details, refer to this blog post: [Property Injection in Spring Using @Value and EL Support](https://www.baeldung.com/spring-property-injection-value).

The above is the detailed content of How Can I Inject Property Values into Beans Configured with Annotations in Spring?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn