と組み合わせて使用すると、@Configuration
注釈はxml構成を置き換えるために使用されます。しかし、@Component
(クラスレベルで定義されている)と組み合わせて@Bean
が使用されたコードを見ました。これは有効な宣言ですか? @Component
と@Bean
の注釈対を使用している場合の長所/短所は、@Configuration
と@Bean
を使用していますか?春@Component&@Beanアノテーション
EDIT:
おかげ@Sundar & @Biju。私はComponentクラスの下で2つのBeanメソッド間のプログラム呼び出しを行った。私はさまざまなオブジェクト値を見た。しかし、私がConfigurationを使うと、同じBean値が見えました。私は@Configuration
を使用したとき、私は@Bean
アノテーションを付けるメソッドは春の豆
コード
@Component
public class AppConfig {
@Bean(name="customerService")
public CustomerService getCustomerService(){
System.out.println(getService());
System.out.println(getService());
return getService();
}
@Bean
public CustomerService getService(){
return new CustomerServiceImpl();
}
}
として扱われていたと仮定し、一方、あなたが説明したものに基づいて、私は、私が
@Component
を使用する場合、通常のメソッド呼び出しが行われたと仮定します
コンソール出力
[email protected]
[email protected]8a058
コード
@Configuration
public class AppConfig {
@Bean(name="customerService")
public CustomerService getCustomerService(){
System.out.println(getService());
System.out.println(getService());
return getService();
}
@Bean
public CustomerService getService(){
return new CustomerServiceImpl();
}
}
コンソール出力
[email protected]
[email protected]
ありがとう@Biju!私は私の質問を更新しました。明確化のためにありがとう。 –
動作は@Componentの有無にかかわらず同じようです。 Component vs annotationのアノテートされたクラスでBeanを使用すると、違いはありますか? –