springでのBeanの注入方法は何ですか?

Springでは、3つの一般的なbean注入方法があります:コンストラクター注入、セッター注入、およびフィールド注入。

  1. コンストラクターインジェクション:@Autowiredや@Injectアノテーションをクラスのコンストラクターに使用することで、依存性注入を実現します。Springコンテナがbeanを作成する際、自動的にコンストラクターパラメーターを確認し、一致する依存関係をコンストラクターにインジェクトします。例:
@Service
public class UserService {
    private UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
}
  1. setterの注入は、依存性の注入を実現するために、クラスのsetterメソッドに@Autowiredまたは@Injectアノテーションを使用することです。Springコンテナは、beanの作成時に適切なsetterメソッドを自動的に呼び出し、マッチングする依存関係をプロパティに注入します。例:
@Service
public class UserService {
    private UserRepository userRepository;

    @Autowired
    public void setUserRepository(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
}
  1. フィールドインジェクション:依存性注入を実現するために、クラスのフィールドに@Autowiredまたは@Injectアノテーションを使用します。Springコンテナは、Beanを作成する際に、自動的に一致する依存関係をフィールドに注入します。例:
@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;
}

上記の一般的なインジェクション方法に加えて、JSR-330の@InjectアノテーションやSpringの@Qualifierアノテーションを使用して、具体的な依存関係を指定することができます。さらに、Java設定クラスで@Beanアノテーションを使用して、他のビーンに注入することもできます。

bannerAds