Компоненты AutoConfigured не обнаруживаются при сканировании компонентов или по какой-то причине не существуют?JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Компоненты AutoConfigured не обнаруживаются при сканировании компонентов или по какой-то причине не существуют?

Сообщение Гость »


Я работаю над индивидуальным приложением с Spring Boot и Angular и пытаюсь отправить файлы на S3, используя внедренный экземпляр того, что должно быть уже автоматически предварительно настроенным компонентом AmazonS3Client ( AmazonS3 тоже не работает). Однако бобы не найдены. При предварительной настройке — из-за этой зависимости они должны настраиваться автоматически.

io.awspring.cloud spring-cloud-aws-context 2.3.0-RC2 io.awspring.cloud spring-cloud-aws-autoconfigure 2.3.0-RC2 Очевидно, эти свойства также необходимо настроить правильно.

cloud.aws.credentials.access-key= cloud.aws.credentials.secret-key= cloud.aws.region.static=eu-west-1 cloud.aws.stack.auto=false Наконец, я включил класс, в котором возникает основная ошибка при попытке внедрить свой bean-компонент AmazonS3Client:

пакет com.project2.YoutubeGrowth.Service; импортировать com.amazonaws.services.s3.AmazonS3Client; импортировать com.amazonaws.services.s3.model.CannedAccessControlList; импортировать com.amazonaws.services.s3.model.ObjectMetadata; импортировать ломбок.RequiredArgsConstructor; импортировать org.springframework.http.HttpStatus; импортировать org.springframework.stereotype.Service; импортировать org.springframework.util.StringUtils; импортировать org.springframework.web.multipart.MultipartFile; импортировать org.springframework.web.server.ResponseStatusException; импортировать java.io.IOException; импортировать java.util.UUID; @Услуга //@RequiredArgsConstructor//автоматически генерируется ниже внедренного конструктора публичный класс S3Service реализует FileService{ частный окончательный AmazonS3Client awsS3Client; public static Final String BUCKET_NAME = "ytbucket-forgrowth"; //public S3Service(AmazonS3Client awsS3Client){ // this.awsS3Client = awsS3Client; //} @Override общественная строка uploadeFile (файл MultipartFile) { //Загрузить логику файла для загрузки в AWS S3 // Подготавливаем ключ var filenameExtension = StringUtils.getFilenameExtension(file.getOriginalFilename()); ключ var = UUID.randomUUID().toString() + filenameExtension; вар метаданные = новый ObjectMetadata (); метаданные.setContentLength(file.getSize()); метаданные.setContentType(file.getContentType()); пытаться{ awsS3Client.putObject(BUCKET_NAME, ключ, file.getInputStream(), метаданные); } catch(IOException ioException) { выдать новое исключение ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, «При загрузке файла произошло исключение»); } awsS3Client.setBucketAcl(BUCKET_NAME,CannedAccessControlList.PublicRead); return awsS3Client.getResourceUrl(BUCKET_NAME, key); } } ps... Для пояснения я закомментировал @RequiredArgsConstructor и ручное внедрение в целях тестирования. Потому что по какой-то причине он отлично работает без нотации @Service. Но мне нужна эта запись, очевидно, для других внедрений классов с использованием S3Service

И еще, почему бы вам поставить минус вместо того, чтобы просто спросить сообщение? Я думал, что ясно дал понять, что это ошибка, связанная с компонентом, который не найден, но здесь.
Параметр 0 конструктора в com.project2.YoutubeGrowth.Service.S3Service требуется компонент типа «com.amazonaws.services.s3.AmazonS3Client», который не удалось найти.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»