inflearn logo
강의

講義

知識共有

Spring MVC 2編 - バックエンドWeb開発活用技術

질문 있습니다.

272

terry9611

投稿した質問数 30

0

1. LoginMemberArgumentResolver를
스프링 빈으로 등록해서 WebConfig 클래스에서
resolvers.add() 메서드를 사용할 때 new 연산자를 통해
객체를 생성하지 않고 DI 컨테이너에서 주입 받아서 사용하는건
어떻게 생각하시나요?.
왜 빈으로 등록 안하고 new 연산자로 주입한건 이유도 같이 궁금합니다.


2.
HandlerMethodArgumentResolver를 구현할 때 supportsParameter() 메소드와 resolveArgument() 메소드를 테스트하고 싶은데
파라미터 (MethodParameter, ModelAndView, NativeWebRequest, WebDataBinderFactory) 때문에 테스트를 어떻게 해야할지 모르겠습니다. (mock, spy 없이 하고 싶습니다.)



@Configuration
public class WebConfig implements WebMvcConfigurer {

@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
resolvers.add(new LoginMemberArgumentResolver());
}
}

 

@Configuration
@RequiredArgsConstructor
public class WebConfig implements WebMvcConfigurer {

private final LoginMemberArgumentResolver loginMemberArgumentResolver;

@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
resolvers.add(loginMemberArgumentResolver);
}

}

 

 

MVC spring

回答 2

0

terry9611

 

 

@Configuration
public class WebConfig implements WebMvcConfigurer {

private final LoginMemberArgumentResolver loginMemberArgumentResolver = new LoginMemberArgumentResolver();

@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
resolvers.add(loginMemberArgumentResolver);
}

}

 

그러면 이런식으로 LoginMemeberArgumentResolver를 멤버변수로 지정하여 의존관계를 명확하게  명시하는게 어떨가요?

 

 

 

 

 

 

 

 

 

0

yh

안녕하세요. terry9611님

LoginMemberArgumentResolver를 빈으로 등록하지 않은 이유는 다음과 같습니다.

1. 딱 여기서만 사용하고, 다른 스프링 빈들이 사용하지 않는다.

2. LoginMemberArgumentResolver는 다른 스프링 빈을 의존관계 주입 받지 않는다.

정리하면 빈으로 등록할 만한 이유가 없기 때문입니다.

 

2번 질문은 테스트 하려면 해당 인터페이스의 구현체를 만드셔야 할 것 같아요.

감사합니다.

이미지 업로드와 db 트랜잭션 묶는법

0

42

1

Could not resolve org.springframework.boot:spring-boot-starter-validation:2.4.4

0

52

2

MessageSourceTest 코드

0

47

1

인터셉터 에러 설정

0

48

1

resolveArgument()메서드 질문

0

56

1

43강 검증1 에서 실패 로직 관련 질문있습니다.

0

55

2

타임리프 3.X 버전 rendering, serializer 에러 해결 방법

2

133

3

스프링 빈에 등록이 안되는거 같은데 어떻게 하면 좋을까요?ㅠㅠ

0

90

3

pdf 오타 문의

0

57

1

ItemUpdateForm 검증 관련 질문입니다.

0

48

1

22page 링크 주소 변경

0

59

2

특정 데이터와 파일을 함께 저장 시, 테이블 구조 질문

0

53

1

섹션3번 수업에 대한 질문입니다.

0

80

2

@Autowired 보다 더 좋은 방법이 어떤 걸까요?

0

85

2

타입컨버터 가 람다랑 비슷해 보이는데 저의 생각이 맞는지?.

0

65

1

자바스크립트 인라인에서 객체 직렬화 시 오류가 납니다

0

142

3

스프링부트 - 오류페이지2 에서 500.html 에서 쓰인 객체 질문

0

63

1

톰캣 에러 페이지가 안보입니다.

0

102

2

apiEceptionController에서 센드 에러 호출하면 안되는지?

0

81

1

세션 타임아웃시 쿠키 삭제 방법이 없나요?

0

118

2

ApiExceptionController 질문드립니다.

0

64

1

셀렉박스 챕터에서 option value에 ==배송 방식 선택== 이것을 넣은 이유가 궁금함, 이렇게 구상해도 되는지?

0

66

1

MemberRepository 필드의 fianl 선언 유무

0

85

2

혹시 index.html 에서는 fragment 사용이 안되는건가요

0

58

1