spring学習1.2自動組立Bean-強化

1059 ワード

どのようにbeanカスタムIDを与えるか?
springアプリケーションのコンテキストでは、すべてのbeanは次のようなidを与えられます.
@Component
public class Dog implements IAnimals {
    public void say() {
        System.out.println("wang....");
    }
}
springは自動的にクラス名によってidを指定します.一般的にクラス名の最初の文字を小文字に変更します.上記のような例では、beanのidはdogですが、私達は異なるクラス名idを設定する必要があります.
@Component("DOGcomponent")
@Componentの後に括弧を入れて、自分で作ったid名を付ければいいです.
どのように違うカバンをスキャンしますか?
前のセクションではspring学習(1)組立Bean-初期接触では、componentScanだけで一つのカバンをスキャンすることができますが、どのように複数のカバンや他のカバンをスキャンすればいいですか?私たちはこのようにしてもいいです.
@Configuration
@ComponentScan (basePackageClasses = {Dog.class,Cat.class})
public class AnimalsConfig {
}

ここではもう一つの方法があります.@Component注释の種類が含まれています.@ComponentScan("basePackages=",","パッケージ名1","パッケージ名2")がありますが、ここのパッケージ名はstringタイプなので、タイプが不安で、いくつかの奇妙な異常があるかもしれません.使用を勧めません.
@Autowiredの注釈について
@Autowired(required=false)Spring容器の中に必ずある種類のBeanがあると確定できない場合、この種類のBeanを自動注入する必要があるところで@Autowired(required=false)を使用することができます.
終了