Spring에서는 종속성 주입 및 클래스 경로 검색을 단순화하기 위해 주석을 사용하여 Bean을 구성하는 경우가 많습니다. 그러나 속성 파일과 같은 외부 소스에서 속성 값을 삽입해야 하는 경우 문제가 발생할 수 있습니다.
Spring Bean으로 주석이 달린 Java 클래스를 생각해 보세요.
@Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { // Implementation omitted }
이 Bean은 주석을 통해 구성되며 app.properties 파일의 속성 값을 여기에 삽입하려고 합니다. 그러나 Spring XML 파일에서는 Bean이 선언되지 않으므로 일반적인
Spring은 주석이 달린 Bean에 직접 속성 주입을 가능하게 하는 EL(Expression Language) 지원을 제공합니다. 이렇게 하려면:
<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를 사용하여 속성 개체에서 속성을 주입할 수도 있습니다.
@Autowired private Properties myProperties; @Value("#{myProperties['github.oauth.clientId']}") private String githubOauthClientId;
위 내용은 Spring에서 주석으로 구성된 Bean에 속성 값을 어떻게 주입할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!