Spring では、依存関係の注入とクラスパスのスキャンを簡素化するために、アノテーションを使用して Bean が構成されることがよくあります。ただし、プロパティ ファイルなどの外部ソースからプロパティ値を挿入する必要がある場合は、問題が発生する可能性があります。
Spring Bean としてアノテーションが付けられた Java クラスを考えてみましょう。
@Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { // Implementation omitted }
この Bean はアノテーションを介して構成されており、app.properties ファイルからプロパティ値をそれに注入したいと考えています。ただし、Bean は Spring XML ファイル内で宣言されていないため、通常の
Spring は、アノテーション付き Bean へのプロパティ インジェクションを直接可能にする EL (式言語) サポートを提供します。これを行うには:
<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 中国語 Web サイトの他の関連記事を参照してください。