inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

예컨데님의 게시글

예컨데 예컨데

@forexample

수강평 작성수
1
평균평점
5.0

게시글 6

질문&답변

프로젝트 생성 질문있습니다.

그레이들 버전이 상관 있는 것 같은데 혹시 그레이들 버전 확인이 가능할까요?

좋아요수
0
댓글수
2
조회수
472

질문&답변

김영한 강사님 강의에 대한 오류 질문입니다.

Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository MemberRepository 타입의 Bean 이 두개 등록되어 발생한 문제 같습니다.

좋아요수
0
댓글수
1
조회수
279

질문&답변

springSecurity

RequestMatcherDelegatingAuthorizationManager 클래스의 check 메서드에서 breakpoint 를 잡고 디버깅해보시는 것을 추천드립니다. @Override public AuthorizationDecision check(Supplier authentication, HttpServletRequest request) { if (this.logger.isTraceEnabled()) { this.logger.trace(LogMessage.format("Authorizing %s", request)); } for (RequestMatcherEntry > mapping : this.mappings) { RequestMatcher matcher = mapping.getRequestMatcher(); MatchResult matchResult = matcher.matcher(request); if (matchResult.isMatch()) { AuthorizationManager manager = mapping.getEntry(); if (this.logger.isTraceEnabled()) { this.logger.trace(LogMessage.format("Checking authorization on %s using %s", request, manager)); } return manager.check(authentication, new RequestAuthorizationContext(request, matchResult.getVariables())); } } if (this.logger.isTraceEnabled()) { this.logger.trace(LogMessage.of(() -> "Denying request since did not find matching RequestMatcher")); } return DENY; } spring security 의 authorizeHttpRequests 에 설정한 값들이 RequestMatcherDelegatingAuthorizationManager 클래스의 멤버변수 mappings 에 저장됩니다. 위의 check 메서드에서 mappings 를 순회하며 요청이 유효한지를 체크하게 되는데 403 Access Denied 가 발생하는 이유를 위 과정에서 확인할 수 있을 것으로 생각됩니다.

좋아요수
0
댓글수
2
조회수
532

질문&답변

인텔리제이에서 프로젝트를 오픈했을시 failed가 뜹니다

프로젝트는 SpringBoot 3.2.0 으로 생성하셨지만 자바 버전이 8버전으로 설정되어 발생하는 문제로 보입니다. SpringBoot 3 버전부터는 자바 17버전 이상을 사용해야 하기 때문에 자바 버전을 설정하는 것이 중요합니다. 설정 -> 빌드, 실행, 배포 -> 빌드 도구 -> Gradle Gradle JVM 에 설정된 프로젝트 SDK 값을 Java 17 이상으로 설정 부탁드립니다.

좋아요수
0
댓글수
1
조회수
415

질문&답변

계속 스프링부트 실행에 오류가 납니다

설정 -> 빌드, 실행, 배포 -> 빌드 도구 -> Gradle Gradle JVM 의 SDK 값이 잘 설정되어있는지 확인 부탁드립니다. 설정 -> 빌드, 실행, 배포 -> 컴파일러 -> Java 컴파일러 위의 설정에서 프로젝트 바이트코드 버전 값이 잘 설정되었는지 확인 부탁드립니다. 프로젝트 구조의 sdk 가 잘 설정되었는지 확인 부탁드립니다.

좋아요수
1
댓글수
1
조회수
1790

질문&답변

테스트를 실행했을 때 RuntimeError: Event loop is closed 에러가 발생합니다.

해결하였습니다. motor 라이브러리에서 사용되는 event loop 와 pytest 에서 사용되는 event loop 가 달라서 발생하는 것으로 확인됩니다. 실제 어플리케이션 실행시에 어떻게 동작할 지 까지는 좀 더 확인이 필요하겠지만 db 변수를 lazy loading 을 하도록 변경하고 최초 load 시에 event loop 를 주입받을 수 있도록 하여 fixtures 에서 주입해주는 event loop 를 이용해 motor 클라이언트를 생성하였습니다. AsyncIOMotorClient(io_loop=event_loop) 이 named parameter 를 이용해 사용할 이벤트루프를 지정해줌에 따라서 테스트가 성공할 수 있었습니다. 이게 pytest_asyncio 의 이벤트루프가 특별한 것인지 motor의 그것이 특별한 것인지는 좀 더 확인이 필요할 것 같습니다.

좋아요수
3
댓글수
3
조회수
2247