Could not relive plceholder'redis.maxIdle'in string value'$

1074 ワード

タグは優雅な外在化パラメータ構成の方式を提供していますが、このラベルはSpringプロファイルの中に一つしか存在しません.
よく知られているように、Spring容器は反射走査の発見機構を採用しており、タグの名前空間の実装例によって、Springが容器の中にorg.springframework.beans.factory.config.PropertyPlaceholderCVonfigurerのBeanがあることを検出すると、残りのPropertyPlaceholderConfigurerのスキャンは停止され、すなわち一例しか存在しない!
これはspringプロファイルのcontextラベルに対する表現であり、このラベルの大域は一つしか存在しないことが分かります.プロジェクトのspringプロファイルが複数あり、各プロファイルに外部のpropertiesファイルが導入されている場合、この方法を使用する.
locationに複数のファイルがある場合:classpath:db.properties,classpath:default.properties,classpath:default3.properties,classpath:default2.propertiesは順次ロードされます.注意すべきことは、後のファイルの中に前のファイルと同じ属性名がある場合、最終的に取った値は後ロードの値です.例えば、default.propertiesファイルの中に属性名のuserIdがあり、その対応する値は-1 default 2.propertiesファイルの中にも属性名があります.その対応する値は-2 default 3.propertiesファイルに特有の属性名userIdで、それに対する値は-3です.
default.propertiesファイルを先にロードします.この時userIdの値は-1です.default 3.propertiesファイルをロードすると元の値を更新します.この時、userIdの値は-3です.同じです.最後にdefault 2.propertiesファイルをロードします.だから、userIdの最終値は-2です.異なる属性ファイル中の属性名の名前が重複しないようにします.