在 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中文网其他相关文章!