소개
게시글
질문&답변
프로젝트 생성 질문있습니다.
그레이들 버전이 상관 있는 것 같은데혹시 그레이들 버전 확인이 가능할까요?
- 0
- 2
- 284
질문&답변
김영한 강사님 강의에 대한 오류 질문입니다.
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,memberRepositoryMemberRepository 타입의 Bean 이 두개 등록되어 발생한 문제 같습니다.
- 0
- 1
- 144
질문&답변
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
- 356
질문&답변
인텔리제이에서 프로젝트를 오픈했을시 failed가 뜹니다
프로젝트는 SpringBoot 3.2.0 으로 생성하셨지만 자바 버전이 8버전으로 설정되어 발생하는 문제로 보입니다.SpringBoot 3 버전부터는 자바 17버전 이상을 사용해야 하기 때문에 자바 버전을 설정하는 것이 중요합니다. (사진)설정 -> 빌드, 실행, 배포 -> 빌드 도구 -> GradleGradle JVM 에 설정된 프로젝트 SDK 값을 Java 17 이상으로 설정 부탁드립니다.
- 0
- 1
- 323
질문&답변
계속 스프링부트 실행에 오류가 납니다
(사진)설정 -> 빌드, 실행, 배포 -> 빌드 도구 -> GradleGradle JVM 의 SDK 값이 잘 설정되어있는지 확인 부탁드립니다. (사진)설정 -> 빌드, 실행, 배포 -> 컴파일러 -> Java 컴파일러위의 설정에서 프로젝트 바이트코드 버전 값이 잘 설정되었는지 확인 부탁드립니다.(사진)프로젝트 구조의 sdk 가 잘 설정되었는지 확인 부탁드립니다.
- 1
- 1
- 1.6K
질문&답변
테스트를 실행했을 때 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
- 1.6K