inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

UsernameOnlyDto 타입 type mismatch 오류

미해결

실전! 스프링 데이터 JPA

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. UsernameOnly 인터페이스 타입과 지네릭스 타입으로 결과는 문제 없이 동작하지만 UsernameOnlyDto 타입으로 결과 값을 받으려고 findProjectionsByUsername를 호출하면 type mismatch 오류가 생깁니다. Specified result type [study.datajpa.dto.UsernameOnlyDto] did not match Query selection type [study.datajpa.entity.Member] - multiple selections: use Tuple or array List<UsernameOnlyDto> result = memberRepository.findProjectionsByUsername("m1"); package study.datajpa.dto; public class UsernameOnlyDto { private final String username; public UsernameOnlyDto(String username) { this.username = username; } public String getUsername() { return username; } } // List<UsernameOnly> findProjectionsByUsername(@Param("username") String username); List<UsernameOnlyDto> findProjectionsByUsername(@Param("username") String username); <T> List<T> findProjectionsByUsername(@Param("username") String username, Class<T> type); org.springframework.orm.jpa.JpaSystemException: Specified result type [study.datajpa.dto.UsernameOnlyDto] did not match Query selection type [study.datajpa.entity.Member] - multiple selections: use Tuple or array at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:341) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:560) at org.springframework.dao.support .ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support .DataAccessUtils.translateIfNecessary(DataAccessUtils.java:343) at org.springframework.dao.support .PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:160) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.data.jpa.repository.support .CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:136) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) at jdk.proxy2/jdk.proxy2.$Proxy149.findProjectionsByUsername(Unknown Source) at study.datajpa.repository.MemberRepositoryTest.projections(MemberRepositoryTest.java:403) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) Suppressed: org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only at org.springframework.transaction.support .AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:804) at org.springframework.transaction.support .AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:758) at org.springframework.test.context.transaction.TransactionContext.endTransaction(TransactionContext.java:135) at org.springframework.test.context.transaction.TransactionalTestExecutionListener.afterTestMethod(TransactionalTestExecutionListener.java:272) at org.springframework.test.context.TestContextManager.afterTestMethod(TestContextManager.java:488) at org.springframework.test.context.junit.jupiter.SpringExtension.afterEach(SpringExtension.java:275) ... 2 more Caused by: org.hibernate.query.QueryTypeMismatchException: Specified result type [study.datajpa.dto.UsernameOnlyDto] did not match Query selection type [study.datajpa.entity.Member] - multiple selections: use Tuple or array at org.hibernate.query.sqm.internal.SqmUtil.throwQueryTypeMismatchException(SqmUtil.java:1272) at org.hibernate.query.sqm.internal.SqmUtil.verifyResultType(SqmUtil.java:1209) at org.hibernate.query.sqm.internal.SqmUtil.verifySelectionType(SqmUtil.java:1159) at org.hibernate.query.sqm.internal.SqmUtil.verifySingularSelectionType(SqmUtil.java:1114) at org.hibernate.query.sqm.internal.SqmUtil.checkQueryReturnType(SqmUtil.java:1088) at org.hibernate.query.sqm.internal.SqmUtil.checkQueryReturnType(SqmUtil.java:1049) at org.hibernate.query.sqm.internal.SqmUtil.validateQueryReturnType(SqmUtil.java:1040) at org.hibernate.query.sqm.tree.select .SqmSelectStatement.validateResultType(SqmSelectStatement.java:153) at org.hibernate.query.sqm.internal.QuerySqmImpl.<init>(QuerySqmImpl.java:240) at org.hibernate.internal.AbstractSharedSessionContract.createCriteriaQuery(AbstractSharedSessionContract.java:1483) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:1443) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:143) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:320) at jdk.proxy2/jdk.proxy2.$Proxy136.createQuery(Unknown Source)

  • java
  • spring
  • spring-boot
  • jpa
Sj Choi 댓글 1 좋아요 0 조회수 144

http://localhost:8080/Egov_WEB/main2.do 요청 관련

미해결

3. 웹개발 코스 [Enterprise Architecture(EA) X 전자정부프레임워크]

3장 학습 테스트에서 URL 이 https://inf.run/3Ujcb 로 작동합니다. Controller에서의 RequestMapping은 @RequestMapping(value="/ main2.do ") 로 정의되었습니다. URL에 " Egov_WEB" 이 왜 들어가야 하는 것인가요? 브라우저에서 " http://localhost:8080/main2.do" 로 입력하면 오류가 나구요.

  • spring
  • 전자정부프레임워크
taeyoul.im 댓글 4 좋아요 0 조회수 235

빌드 중단 시 오류 발생

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] build를 Gradle로 할 시 아래 사진과 같은 오류가 납니다 intellij로 하면 아래와 같은 오류가 안 나구요 혹시 해결 방안이 있을까요? 오류 원인은 무엇일까요? 참고로 오류 발생은 빌드 중단 시 납니다

  • spring
  • mvc
duddlsrhdqn 댓글 1 좋아요 0 조회수 93

서블릿 localhost8080

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 안녕하세요, 강의 수강 중 질문이 생겨 여쭤보게 되었습니다. 강의를 들으며 라이브 코딩 중 제 노트북에서 localhost 8080/hello를 입력 시 연결이 안되더라고요.. 이것 저것 해결하려 노력을 하였는데도 여전히 해결하지 못하였는데, 원인이 혹시 무엇인지 알 수 있을까요 ? 유료 버전 사용 중이고, openjdk 24, war을 선택하였습니다. 좋은 강의 제공해주셔서 항상 감사드립니다!

  • spring
  • mvc
wonderwall09in 댓글 2 좋아요 0 조회수 147

서블릿과 서블릿컨테이너 그리고 WAS

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

[질문 내용] HttpServletRequest 역할 HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편할 것이다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다. pdf보면 위 내용처럼 HTTP 요청 메시지를 파싱하고 그 결과를 Request 객체를 만드는게 서블릿이라고 적혀있는데 WAS와 서블릿을 구분해서 공부를 하던 도중 개념이 헷갈려서 https://jakarta.ee/specifications/servlet/5.0/apidocs/jakarta/servlet/http/httpservletrequest 공식문서를 찾아봤는데 The servlet container creates an HttpServletRequest object and passes it as an argument to the servlet's service methods ( doGet , doPost , etc). 요청 객체와 파싱은 서블릿 컨테이너가 한다고 나와있습니다. 찾아보니까 서블릿과 서블릿 컨테이너는 같은 의미는 아닌거 같고 그럼 여기서 말하는 서블릿 컨테이너는 WAS 같은건가요? 아니면 서블릿 = 서블릿 컨테이너 라고 개념을 익혀도 괜찮은건가요?

  • spring
  • mvc
홍기현 댓글 1 좋아요 0 조회수 79

트랜잭션 전파 활용 - UnexpectRollbackException 관련 질문

해결됨

스프링 DB 2편 - 데이터 접근 활용 기술

트랜잭션 전파 활용까지 강의를 수강하고나니 이전 질문 해당 질문에서 질문했던 1번 경우에 대해서는 제 생각이 맞는 것 같다는 결론이 나왔습니다. 그리고 활용 강의까지 들으면서 느낀건데 애초에 UnexpectRollbackException 예외는 실제 정상 운영중인 서비스에서는 발생하면 안되는 예외고 테스트 과정같은 개발 환경에서 개발자가 캐치해서 이 예외가 발생하지 않게끔 코드를 수정하기위한 일종의 알림같은 예외라고 생각이 되었습니다. 그래서 굳이 exceptionhandler로 UnexpectRollbackException 예외를 처리하는것은 뭔가 옳지 않은 방법이지 않을까 하는 생각이 들었습니다. 제 생각이 맞나요?

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
한현진 댓글 2 좋아요 0 조회수 133

트랜잭션 전파 기본 - UnexpectRollbackException 관련 질문

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

만약에 @Transactional 어노테이션을 사용해서 트랜잭션을 만들었을때 내부 트랜잭션에서 롤백이 발생했다는건 일반적인 상황에서는 database에서 뭔가 예외가 발생해서 그런거라고 생각되는데, 그러면 예외처리기에서 알아서 runtimeException을 상속받은 예외로 바뀔것이고 외부 트랜잭션에서도 롤백이 발생한다는건 이 경우는 database에서 발생했던 예외가 외부 트랜잭션까지 넘어와서 자연스럽게 롤백된거라고 생각합니다. 그래서 UnexpectRollbackException이 발생하지 않는다고 생각됩니다. 제 생각이 맞나요? 그러면 UnexpectRollbackException 이 발생할 수 있는 경우는 뭐가 있나요? 강의에서 처럼 의도적으로 문제를 일으키는게 아니면 생각나는 경우가 딱히 없습니다. 하지만 제가 생각하지 못하는 것이지 예외가 발생한다는 경우가 있긴 있다는것이겠죠? 그렇다면 트랜잭션을 이용하는 순간부터는 그냥 @ControllerAdvice 에서 @ExceptionHandler로 UnexpectRollbackException을 캐치해줘서 처리하는 코드를 거의 무조건 작성해야할까요??

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
  • 트랜잭션
  • transaction
한현진 댓글 2 좋아요 0 조회수 153

프로젝트 파일 오타 발견

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] basic/operation.html에서 <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <ul> <li>산술 연산 <ul> <li>10 + 2 = <span th:text="10 + 2"></span></li> <li>10 % 2 == 0 = <span th:text="10 % 2 == 0"></span></li> </ul> </li> <li>비교 연산 <ul> <li>1 > 10 = <span th:text="1 &gt; 10"></span></li> <li>1 gt 10 = <span th:text="1 gt 10"></span></li> <li>1 >= 10 = <span th:text="1 >= 10"></span></li> <li>1 ge 10 = <span th:text="1 ge 10"></span></li> <li>1 == 1 = <span th:text="1 == 10"></span></li> <li>1 != 1 = <span th:text="1 != 10"></span></li> </ul> </li> <li>조건식 <ul> <li>(10 % 2 == 0)? '짝수':'홀수' = <span th:text="(10 % 2 == 0)? '짝수':'홀수'"></span></li> </ul> </li> <li>Elvis 연산자 <ul> <li>${data}?: '데이터가 없습니다.' = <span th:text="${data}?: '데이터가 없습니다.'"></span></li> <li>${nullData}?: '데이터가 없습니다.' = <span th:text="${nullData}?: '데이터가 없습니다.'"></span></li> </ul> </li> <li>No-Operation <ul> <li>${data}?: _ = <span th:text="${data}?: _">데이터가 없습니다.</span></li> <li>${nullData}?: _ = <span th:text="${nullData}?: _">데이터가 없습니다.</span></li> </ul> </li> </ul> </body> </html> <li>1 == 1 = <span th:text="1 == 10"></span></li> <li>1 != 1 = <span th:text="1 != 10"></span></li> 이 부분이 잘못 나와있습니다. <li>1 == 10 = <span th:text="1 == 10"></span></li> <li>1 != 10 = <span th:text="1 != 10"></span></li> 1을 10으로 변경을 해야 합니다.

  • spring
  • mvc
  • 오타
  • operation
Xerath 댓글 2 좋아요 0 조회수 112

RedirectAttributes

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] addItemV6 메서드에서 RedirectAttributes를 사용해서 status를 true로 만들고 등록 폼에서 저장하면 상세 화면에 "저장 완료!" 문구가 화면에 나오는 것처럼 수정 폼에서 수정을 하면 "수정 완료!" 문구가 화면에 나오게 하고 싶은데 status를 조건으로 하면 조건의 허용 갯수가 true로 한정적이라 만들 수 없었습니다. 이런 경우 조건을 어떻게 설정해서 이 조건일 때는 저장 완료 문구 이 조건일 때는 수정 완료 문구로 html에 적용시킬 수 있을까요?

  • spring
  • mvc
이재 댓글 1 좋아요 0 조회수 56

올려주신 코드 오류가 있습니다(RequestHeaderController)

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. RequestHeaderController 클래스에 headers메소드의 파라미터가 아래와같이 HttpServletRequest, HttpServletResponse,... 을 받아야하나 request, response를 모두 HttpServletRequest로 받고 있습니다. 정상 코드 HttpServletRequest request, HttpServletResponse response 예제 파일 코드 HttpServletRequest request, HttpServletRequest response

  • spring
  • mvc
임익주 댓글 2 좋아요 0 조회수 99

서블릿 컨테이너 초기화1 강의 관련 질문입니다~

미해결

스프링 부트 - 핵심 원리와 활용

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 스프링부트 톰캣 내부에 서블릿 컨테이너도 있고 스프링 컨테이너도 같이 존재하는 건가요? 그래서, API 호출이 오면 서블릿 컨테이너 내부의 DispatcherServlet이 스프링 컨테이너로 연결시켜서 컨트롤러 빈으로 매핑하도록 한다고 보면 될까요?

  • spring
  • spring-boot
  • prometheus
  • grafana
ajdsasld 댓글 1 좋아요 0 조회수 118

Thread Config Max 패널 설정 변경 질문

미해결

스프링 부트 - 핵심 원리와 활용

tomcat_threads_config_max_threads로 설정을 했는데 왜 200이 안뜨고 계속 N/A 로 되어있는지 의문입니다. 서버, 프로메테우스도 다 켜져있는데 뭐가 문제일까요?

  • spring
  • spring-boot
  • prometheus
  • grafana
523won600 댓글 1 좋아요 0 조회수 157

스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.

미해결

스프링 부트 - 핵심 원리와 활용

yml 파일에서 이렇게 shutdown 기능을 활성화 시켰는데 Deprecated configuration property 'management.endpoint.shutdown.enabled' 이렇게 나오는데 'Deprecated' 된 건지 아니면 제가 잘못 설정을 한 건지 궁금합니다. 기능은 정상적으로 작동하는데 저 경고는 무시해도 되는 건가요? management: endpoint: shutdown: enabled : true

  • spring
  • spring-boot
  • prometheus
  • grafana
523won600 댓글 1 좋아요 0 조회수 137

혹시 강의 기간은 무제한으로 해주실수 있나요?

미해결

어쩌다보니 스프링부트

가끔 기본이 기억안날때 보러오고 싶은 강의인데 기간이 제한되어있어서 아쉬운거 같아요. 기간을 무제한으로 그게 무리라면 기간을 좀 길게 만들어 주실수 있을까여?

  • java
  • spring
  • spring-boot
  • 객체지향
  • servlet
서준호 댓글 1 좋아요 0 조회수 152

스프링 sql오류

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

insert부분이랑 select부분에 저렇게 네모로 표시가 되고 오류가 떠서 웹에 사용자를 등록하면 서버 오류라고 뜨네용 ㅠㅠ

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
성장하자 댓글 4 좋아요 1 조회수 177

Webflux의 Non-Blocking 특성에 대해 문의 드립니다.

미해결

Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부

WebFlux의 Non-Blocking의 장점이 "여러 작업에 대해서 단일 스레드로 이벤트 루프 방식으로 Blocking 없이 여러 작업을 번갈아 가며 처리 가능하다" 라고 이해를 했습니다. 강의의 예제도 보았고 또 여러 예제를 만들어 돌려 보아도, 단일 스레드로 여러 subscribe() 요청을 번갈아가면서 처리하는 것을 확인하지를 못하였습니다. 물론 publishOn 이나 subscribeOn, parallel 을 이용 혹은 flatMap 과 delayElements 를 사용하여 별도의 스레드를 띄워 구현한다면 여러 스레드가 병렬로 동시에 여러 요청의 작업을 처리 할 수 있다는 것은 알고 있습니다. 하지만 이 방법은 결국 다수 스레드를 생성하여 각각의 스레드가 각각의 작업을 처리 하는 구조가 되어 Tomcat기반의 동기 MVC 방식에서의 Blocking 멀티스레드와 별반 차이를 체감하지 못하였습니다. 예를 들어 reactor.netty.ioWorkerCount=1 로 설정하고 Rest API "/api/stream" 를 만들어 클라이언트 A가 GET 호출로 구독 시 클라이언트 B는 A가 연결을 끝날때 까지 대기하였습니다. (Blocking MVC와 동일 동작) (기대한 것은 단일 스레드로 클라이언트 A와 B의 요청을 번갈아가며 처리) 또다른 테스트로 main메소드에서 퍼블리셔에 대해 2개의 subscriber가 거의 동시 구독하였을 경우 먼저 시작한 subscriber의 처리가 다 끝나고 그다음 subscriber가 처리 진행하였습니다. (물론 스케줄러 나 delayElements, webclient 등 내부적으로 별도 스레드를 띄우면 병렬 처리 됨) [제가 테스트한 결과 1 - 단일 스레드 순차 수행] [main] WebFluxExample - main - A1 시작 [main] WebFluxExample - main - A2 완료 [main] WebFluxExample - main - A3 완료 [main] WebFluxExample - main - A 체인 최종 결과: A1 -> A2 -> A3 [main] WebFluxExample - main - B1 시작 [main] WebFluxExample - main - B2 완료 [main] WebFluxExample - main - B3 완료 [main] WebFluxExample - main - B 체인 최종 결과: B1 -> B2 -> B3 [제가 테스트한 결과 2 - 멀티 스레드 병렬 수행] [main] DEBUG reactor.util.Loggers - Using Slf4j logging framework [boundedElastic-1] WebFluxExample - boundedElastic-1 - A1 시작 [boundedElastic-2] WebFluxExample - boundedElastic-2 - B1 시작 [boundedElastic-1] WebFluxExample - boundedElastic-1 - A2 완료 [boundedElastic-2] WebFluxExample - boundedElastic-2 - B2 완료 [boundedElastic-1] WebFluxExample - boundedElastic-1 - A3 완료 [boundedElastic-2] WebFluxExample - boundedElastic-2 - B3 완료 [boundedElastic-1] WebFluxExample - boundedElastic-1 - A 체인 최종 결과: A1 -> A2 -> A3 [boundedElastic-2] WebFluxExample - boundedElastic-2 - B 체인 최종 결과: B1 -> B2 -> B3 [원하는 결과 - 단일 스레드 병렬 수행] [동일스레드] WebFluxExample - 동일스레드- A1 시작 [동일스레드] WebFluxExample - 동일스레드- B1 시작 [동일스레드] WebFluxExample - 동일스레드- A2 완료 [동일스레드] WebFluxExample - 동일스레드- B2 완료 [동일스레드] WebFluxExample - 동일스레드- A3 완료 [동일스레드] WebFluxExample - 동일스레드- B3 완료 [동일스레드] WebFluxExample - 동일스레드- A 체인 최종 결과: A1 -> A2 -> A3 [동일스레드] WebFluxExample - 동일스레드- B 체인 최종 결과: B1 -> B2 -> B3 하여 진정한 Webflux의 Non Blocking, 즉 단일 스레드로 (동시 병렬이 아닌) 여러 작업을 번갈아가며 처리하는 것이 가능하다면 처리하는 예제와 결과를 보여주시면 감사하겠습니다.

  • java
  • spring
  • project-reactor
  • webflux
jchttl 댓글 3 좋아요 1 조회수 258

강의 2:29 ItemMapper itemMapper

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

강의 2분 29초 부분 public class MyBatisConfig { private final ItemMapper itemMapper ; ,,, } 강의에서는 에러가 생기지 않지만, 이 부분에서 itemMapper에 컴파일 에러가 뜹니다. (Could not autowire. No beans of 'ItemMapper' type found.) ItemMapper가 스프링 컨테이너에 스프링 빈으로 등록되지 않아서 생기는 에러가 맞나요? 등록되어있지 않기 때문에 ItemMapper를 주입할 수 없어 컴파일 오류가 나는건지 궁금합니다. 그럼에도 불구하고 메모리db로 하는 테스트와, 서버를 띄워서 하는 테스트 모두 성공하는 이유가 궁금합니다. MyBatisConfig클래스 위에 @MapperScan(basePackages = "hello.itemservice.repository.mybatis") 를 하니 컴파일 에러가 사라지긴 합니다. @MapperScan을 통해 ItemMapper를 Bean으로 수동으로 등록하니 컴파일 오류가 생기지 않는건가요?

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
Michael Scott 댓글 2 좋아요 1 조회수 257

7강 관련 질문

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

7강에서 유저 생성 APi를 만들때 user클래스를 따로 또 만드는데 전에 덧셈이나 곱셈 api에서는 객체를 dto에서 바로 만들어서 가져왔는데 여기서는 domain-user처럼 따로 또 클래스를 만들어서 객체를 호출하는 이유가 있을까요?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
성장하자 댓글 2 좋아요 1 조회수 99

초기화 콜백과 생성자 DI

미해결

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요?예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 빈 생명주기 콜백에서 질문이 생겨 여쭤봅니다. 이전 강의에서는 '생성자 주입'을 사용하는 것이 좋다고 하셨는데, 이번 NetworkClient 클래스에서는 setter로 DI를 하시면서 스프링 빈의 이벤트 라이프사이클을 설명해주고 계십니다. 그러면, 생성자 주입으로 의존관계를 주입할 경우 이번 강의 주제인 '초기화 콜백'은 동작하지 않는 것일까요 ? 설명해주신 스프링 빈의 이벤트 라이프사이클이 생성자DI 기준에서는 컨테이너 생성 -> 빈 생성,의존관계 주입 -> 사용 -> 종료가 되는 것일까요 ? 혹여나 제가 잘못 이해하고 있는 부분이 있다면 지적 부탁드립니다, 좋은 강의 제공해주셔서 항상 감사드립니다 !!

  • spring
  • 객체지향
wonderwall09in 댓글 1 좋아요 0 조회수 92

중복_회원_예외 에서 예외가 안터지는 문제 + 터미널에서 해보세요

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 선생님 질문이 있는데요 중복 회원 예외에서 예외가 안터지고 그냥 테스트를 성공해버립니다 뭐가 문제일까요? 아래 구글 드라이브 링크 걸어뒀습니다. @Test public void 중복_회원_예외() throws Exception { //given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); //when memberService.join(member1); memberService.join(member2); //then fail("예외가 발생해야 한다."); } 예외가 발생하지 않습니다. 코드 압축해서 드라이브에 올렸습니다. https://inf.run/CFDK6

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
문주영 댓글 3 좋아요 0 조회수 190

인기 태그

인프런 TOP Writers

주간 인기글