bugfix> java > 投稿

デプロイされて正常に動作するAmazon Lambda(springboot)があります。

私はこの方法で外部プロジェクトからサービスを注入します(依存関係はpomに追加されます)。

@Bean
public SomeExternalService someExternalService() {
    return new SomeExternalService;
}

Amazonにアップロードしたときに@Autowiredが機能しないため、これを行う必要があります。

今、別のspringbootプロジェクト(ラムダではない)から、DAOを使用するこのサービスがあります。

サービス

@Service
public class StateService  {
@Autowired
private StateRepository repository;
/**
 * Find all {@code State}
 */
public void findSomething(String thing) {
    return repository.findSomething("thing");
}
.....

リポジトリ

@EnableScan
public interface StateRepository extends PagingAndSortingRepository<State, String> {
    List<State> findSomething(String thing);

構築するとき、私は得る

Error creating bean with name 'StateService': Unsatisfied dependency expressed through field 'repository'

そして

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'mypackage.repository.StateRepository' available: expected at least 1 bean which qualifies as autowire candidate.

他のサービスとまったく同じようにそのサービスを注入します

@Bean
public StateService stateService() {
    return new StateService;
}

StateRepository でも同じことはできません 。