2016-03-23 7 views
3

私は春のフレームワークを学んでおり、非常に基本的な質問があります。私は答えを見つけようとしましたが、それを見つけることができませんでした。私は春に次のような種類の配線(それはそれが呼ばれている)を見てきました。BeanでのSpringコンストラクタインジェクション。それはもはや豆ですか?

public class A { 

    private B b; 

    public A(B b) { 
     this.b = b; 
    } 

    public B getB() { 
     return b; 
    } 

    public void setB(B b) { 
     this.b = b; 
    } 
} 


public class B { 

    private String foo; 

    public String getFoo() { 
     return foo; 
    } 

    public void setFoo(String foo) { 
     this.foo = foo; 
    } 
} 

私はこの自動配線がコンストラクタインジェクションを使用して行われることを理解しています。そして、context.xmlに私が持っている以下の

<bean id="a" class="A" autowire="constructor"> 
    </bean> 

    <bean id="b" class="B" > 
     <property name="foo" value="foo1" /> 
    </bean> 

(私はむしろcontext.xmlよりも、アノテーションを使用して構成を学んで、より鮮明な画像を提供しているようですので、ここでそれを使用しています)。だから私の質問は、定義上のbeanは引数なしのコンストラクタとgetterとsetterしか持たず、コンストラクタインジェクションを実行せず、beanでないことを失格にするからです。私はここで何が分かりませんか?

+0

Beanの設定はweb.xmlに含めないでください。それは春のコンフィグレーションxml – Keerthivasan

+0

@Keerthivasanすみません、それは私の間違いでした。私はそれを訂正します。 – mahacoder

+0

このリンクをチェックしてください.http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-properties-detailed – Keerthivasan

答えて

2

Beanは読み込まれた用語です。 JavaBean仕様は少なくとも1つの点で引数なしのコンストラクタを必要としましたが、これは春の豆 doを意味しません。

+0

でも、 'JavaBean'必ずしも引数なしのコンストラクタは必要ありませんか?あいまいさを解消していただきありがとうございます。 – mahacoder

+0

さて、私は最近のJavaBeansの開発にはあまり注意を払っていませんが、SpringBeansとJavaBeansは、同様のBeanサフィックスにかかわらず同じではありません。 – Kayaman

関連する問題