クラスがあります。クラスはコンフィグレーションクラスで、プロファイル "production"がアクティブになっているときにのみ実行されます。しかし、クラスBここでは、アプリケーションの主なロジックは、クラスAで作成されたいくつかのBeanを参照する@Autowiredアノテーションを使用しています、私の問題は、例えばプロファイルを使ってアプリケーションを実行すると "default適切なBeanが作成されないため例外がスローされます。だから私の質問は、プロファイル "production"がアクティブな場合にのみ、このAutowiredをクラスBでどのように使用できるかです。Java Spring Autowiring with profile
1
A
答えて
2
あなたがインターフェイスの2つの実装を持って提供
<beans>
<alias name="${a.class}" alias="A"/>
<context:property-placeholder location="app.properties"/>
<beans>
が
app.propertiesが含まれている必要があり
a.class=A_dev
次にプロパティを変更すると、注入されたクラスが変更されます(アプリの再起動が必要になります)。
などの他の解決策がある:スプリングEL#を使用
-
達人(ビルド時間)と
- フィルタリングXMLコンテキスト
- は{式}
3
私はあなたの質問を理解しませんでした。オプションのBeanを注入する必要がある場合は、修飾ビーンを持たない環境で@Autowired(required = false)
を使用して、関連するプロパティーをnullにできます。
public interface A {}
@Component(value="A_dev")
public class ADev implements A {}
@Component(value="A_prod")
public class AProd implements A {}
public class B {
@Autowired @Qualifier("A") A a;
}
は別名を持つXML設定とプロパティのプレースホルダを追加します:
関連する問題
- 1. ElasticBeanstalk Java、spring active profile
- 2. Spring HibernateTemplate - Autowiring
- 3. SpringブートAutowiringリポジトリ常にNull
- 4. Java Akka Actor with Spring with
- 5. java - Springブートでインスタンス化されるクラスのAutowiringリポジトリ
- 6. Javaスタンドアロンアプリケーション(Swing)でSpring Autowiringを実装できます
- 7. App App ProfileページWith App
- 8. merge facebook profile with text and image
- 9. Springでの暗黙的なautowiring
- 10. Spring Data JPA with Java 8 LocalDateTime
- 11. Java Spring Framework return json with mysql
- 12. インターセプタの文字列beanのspring autowiringがNPEで失敗する
- 13. Spring Integration HTTPアウトバウンドゲートウェイjava dsl with ChannelInterceptorAdapter
- 14. Java MicroService Projectstuckture with SpringとNeflix Stack
- 15. Spring Boot/Thymeleaf/Hibernate:Sessionfactory Bean with Java Annotations
- 16. Autowiring ApplicationListener as null
- 17. Swagger Annotation with Spring
- 18. Spring @工場で作られた一般的な豆で@Autowiring
- 19. AutowiringとBeanを注入する外部Javaライブラリの問題
- 20. spring insight with org.codehaus.paranamer
- 21. Guava ImmutableBiMapがLinkedHashMapになり、Spring autowiringミスが発生する
- 22. Autowiring Spring AuthenticationManagerフィルタは常にnullを返します
- 23. Springがautowiring AuthenticationManagerを使用していません
- 24. inMemoryAuthentication with Spring Boot
- 25. hibernate3とspring3のautowiringセッションビーン
- 26. Angular2 with Spring Boot and Spring Security
- 27. Macbook with java with java with
- 28. Spring Security SAML with OKTA
- 29. Spring Java - Autowiring - クラスパスリソースで定義された名前のBeanを作成中にエラーが発生しました
- 30. Spring @Configurableアノテーションwith AspectJ
ユースケースによっては、2つのクラスが実装するインターフェイスを作成するだけです。 1つは実クラス、もう1つはノーオペレーションクラスです。 – Schaka