在 Spring 中,Bean 通常使用註解進行配置,以簡化依賴注入和類路徑掃描。但是,如果您需要從外部來源(例如屬性檔案)注入屬性值,您可能會遇到挑戰。
考慮一個註解為Spring bean 的Java 類別:
@Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { // Implementation omitted }
此bean 是透過註解配置的,您希望將app.properties 檔案中的屬性值注入其中。然而,由於該 bean 未在 Spring XML 檔案中聲明,因此通常的
Spring 提供 EL(表達式語言)支持,可以將屬性直接注入到帶註釋的 bean 中。為此:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.23</version> </dependency>
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { @Value("${results.max}") private int maxResults; // Implementation omitted }
您也可以使用@Value 從Properties 物件注入屬性:
@Autowired private Properties myProperties; @Value("#{myProperties['github.oauth.clientId']}") private String githubOauthClientId;
以上是如何在Spring中配置註解的Bean中註入屬性值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!