강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của minkyuman0215
minkyuman0215

câu hỏi đã được viết

Triển khai dự án mẫu API dựa trên Spring Boot để cải thiện năng suất

Cài đặt kiểm tra JPA

HttpServeletRequest 를 못가져오는 이슈

Viết

·

1.2K

0

 

안녕하세요.

강의중 AuditorAawareImpl.java 에서

아래와 같이 의존성 주입하니

@Autowired

private HttpServeltRequest httpServletRequest;

-->

"Autowired members must be defined in valid Spring bean.. " 이라고 에러가 납니다.

Spring boot 2.7.7 버전인데요..

어떻게 해야할지 문의드립니다..

spring-bootJPAweb-api

Câu trả lời 3

0

저도 이런데..

bgh79465479님의 프로필 이미지
bgh79465479
Người chia sẻ kiến thức

안녕하세요

JpaConfig에서 AuditorAwareImpl를 수동으로 빈으로 등록해주고 있는데, @Autowired어노테이션으로 빈을 주입하고 있어서 빈이 아닌데 빈을 주입하고있는걸로 인텔리제이에서 체크해주는걸로 보입니다. 인텔리제이 옵션마다 뜨는 사람이 있고 안뜨는 사람이 있는걸로 생각되네요 아래 코드처럼 생성자 주입으로 빈을 주입하면 아마 에러가 안뜰것입니다.

@RequiredArgsConstructor
public class AuditorAwareImpl implements AuditorAware<String> {

    private final HttpServletRequest httpServletRequest;

    @Override
    public Optional<String> getCurrentAuditor() {
        String modifiedBy = httpServletRequest.getRequestURI();
        if(!StringUtils.hasText(modifiedBy)) {
            modifiedBy = "unknown";
        }
        return Optional.of(modifiedBy);
    }

}
@Configuration
@RequiredArgsConstructor
@EnableJpaAuditing
public class JpaConfig {

    private final HttpServletRequest httpServletRequest;

    @Bean
    public AuditorAware<String> auditorAware() {
        return new AuditorAwareImpl(httpServletRequest);
    }

}

당일날 바로 댓글주셨네요.. 계속 디버깅하면서 다른부분 오탈자도 찾고.. 이거저거 고치고 결국 이부분도 수정하러 왔습니다.
수정해주신 코드로하니 잘 동작합니다
피드백 감사합니다

bgh79465479님의 프로필 이미지
bgh79465479
Người chia sẻ kiến thức

넵 ㅎㅎ 남은 챕터도 화이팅입니다!

0

Minkyu Ha님의 프로필 이미지
Minkyu Ha
Người đặt câu hỏi

빠른 응답 감사합니다.

https://github.com/Minkyuman/spring-boot-template

에 올렸습니다.

해당 빨간줄은 에러가 아니고 Problems에 나옵니다. 해당강의까지는 실행에는 문제없는듯 합니다.

bgh79465479님의 프로필 이미지
bgh79465479
Người chia sẻ kiến thức

올려주신 소스코드 기준으로 로컬에서 실행해보고있는데, 저는 딱히 오류가 안보여서 확인이 좀 힘드네요 ㅠ AuditorAwareImpl도 빈으로 등록이 되어있기 때문에 스프링에서 httpServletRequest을 각 요청마다 빈으로 주입을 해주기 때문에 소스상으로는 크게 문제는 없습니다!

image

 

0

bgh79465479님의 프로필 이미지
bgh79465479
Người chia sẻ kiến thức

안녕하세요 JpaConfig도 아래와같이 작성하셨는지 한번 확인해보셔야할꺼 같습니다.

그리고 다르게 작성한 부분이 없다면 깃허브 url로 전달주시면 확인해보도록 하겠습니다.

@Configuration
@EnableJpaAuditing
public class JpaConfig {

    @Bean
    public AuditorAware<String> auditorAware() {
        return new AuditorAwareImpl();
    }

}
Hình ảnh hồ sơ của minkyuman0215
minkyuman0215

câu hỏi đã được viết

Đặt câu hỏi