Resources
リソースとは、アプリケーションが読み込むコンテンツのことです。置き場所に関係なく、resources:mail.txt のようなロケーション文字列で指定します。
使う理由
テンプレート、データファイル、設定ファイルを読むコードは、ファイルの場所を気にするべきではありません。リソースを使うと、場所はロケーション文字列が決めます。resources:(lib/resources/ のファイル)、file:、http: / https:、package:、または独自のプレフィックスです。コードは読むだけです。
lib/resources/ は Java のクラスパスに相当します。ジェネレーターがそのファイルを埋め込むため、resources:... は dart run、AOT 実行ファイル、Flutter、Web のいずれでも、アセット宣言なしで動きます。
設定値を読むだけならリソースは不要です。@Value か Environment を使ってください。
例
import 'package:spring_core_dart/spring_core_dart.dart';
@Service()
class WelcomeLetter {
// コンテキストのリソースローダーで解決されるため、
// 独自プロトコルやアセットローダーも適用される。
WelcomeLetter(@Value('resources:templates/welcome.txt') this.template);
final Resource template;
Future<String> text() => template.readAsString();
}
ページ一覧
- Resource と ResourceLoader:
Resourceインターフェース、ロケーションのプレフィックス、ResourceLoader、ProtocolResolver、リソースパターン。 - AntPathMatcher: リソースパターンと
@PropertySourceが使う Ant 形式のパターン(?、*、**、{name})。