inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

RequestBodyStringServlet 클래스만 만들면 오류가 떠요

해결됨

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

RequestBodyStringServlet 클래스만 만들고 실행하면 이 오류가 뜹니다.. 이것만 지우면 바로 실행이 되고요, gradle, jdk도 17.0.9로 설정해놓은 상태였는데도 오류가 해결이 안됩니다 ..

  • spring
  • mvc
진진섭 댓글 2 좋아요 0 조회수 326

12. 다형성과 설계 NewCar에서 pressBrake() 기능을 추가한다면..

해결됨

김영한의 실전 자바 - 기본편

안녕하세요 영한님! 궁금한 점은 OCP 원칙까지 보고나서 생겨난 질문입니다. Car 인터페이스를 구현하는 K3Car, Model3Car, NewCar의 클래스, Driver는 Car인터페이스를 의존하고 있는데요.,,. 강의 내용과 같이 Car 인터페이스에 있는 추상메소드들만 구현한 클래스끼리 있을 때는 크게 어려운 점이 없는 것 같지만.,., 위와 같이 NewCar에서 이 때까지 없었던 pressBrake()라는 기능을 새로 추가하여 Driver에게 해당 메소드를 사용하게 하고싶다면! 어떻게 코드를 짜야하는지 가 저의 궁금증입니다! 먼저 코드를 짜보면서 혼자 해결해보려고 했으나,.., 자바와 아직 완벽히 친해지지 못했는지 더 좋은 방법이 있지 않을까 하며 만족스러운 해법을 찾지 못 하고 있습니다.. 1. Driver 클래스의 drive() 메서드 블록 안에서 instanceof를 사용하여 car변수가 NewCar 클래스일 때 pressBrake()를 사용한다면? 강의에서 배웠던 OCP원칙 중 Closed for modification에 모순이 생겨버리고.. 2. Car 인터페이스에 pressBrake() 메서드를 넣는다면? OCP 원칙에 모순이 생길 뿐더러 오히려 대대적인 코드 수정도 생겨버립니다.. 해당 사항에 대해서는 어떻게 대처를 해야 잘했다고 소문이 날지 궁금하여 질문을 올리게 되었습니다!

  • java
  • 객체지향
박정현 댓글 1 좋아요 4 조회수 554

JPA 순환참조 질문 드립니다.

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. EventGroupInformation.java @NotFound(action = NotFoundAction. IGNORE ) @JsonBackReference @ManyToOne(cascade = CascadeType. PERSIST , fetch = FetchType. LAZY ) @JoinColumn(name="CATEGORY_ID", insertable = false, updatable = false) private CategoryInformation categoryInformation; @BatchSize(size = 1000) @JsonManagedReference @OneToMany(mappedBy = "eventGroupInformation", cascade = CascadeType. PERSIST , fetch = FetchType. LAZY ) @Where(clause = "DBSTS = 'O' AND FEED_DISPLAY_YN = 'Y' AND START_DATE <= SYSDATE AND END_DATE >= SYSDATE ") @Column(insertable = false, updatable = false) private List<EventInformation> eventInformations; CategoryInformation.java @BatchSize(size = 1000) @JsonManagedReference @OneToMany(mappedBy = "categoryInformation", fetch = FetchType. LAZY ) @Where(clause = "DBSTS = 'O' AND START_DATE <= SYSDATE AND END_DATE >= SYSDATE ") @Column(insertable = false, updatable = false) //@Access(val ue = AccessType.PRO PERTY) public List<EventGroupInformation> eventGroupInformations; 여러개의 oneToMany가 걸려 있는 entitiy들을 강의 V5예제를 참고하여 개선중에 있습니다. CategoryInformation(Order) ㄴ EventGroupInformation(OrderItem) ㄴ EventInformation(Item) 이런 식에 구조인데요, 각각 oneToMany 입니다. EventGroupInformation과 EventInformation을 fetchJoin을 통해 쿼리를 @Query(value = "SELECT distinct eg FROM EventGroupInformation eg " + "LEFT JOIN FETCH eg.eventInformations e " + "WHERE eg.dbsts = :dbsts " + "AND eg.categoryId IN :categoryIds" ) 호출하면 해당 fetchjoin 쿼리 하나만 나갈꺼라고 생각을했는데, 갑자기 상위 entity인 CategoryInformation 테이블에 category_id(PK)로 category_id 개수만큼의 N+1 이슈가 발생 하였습니다. JsonBackReference, JsonManagedReference 해당 옵션을 주면 역참조가 안되어야 하는게 맞지 않나요?? 추가로 ManyToOne 쪽에 @JsonIgnore 도 추가 해보았으나 마찬가지입니다 ㅠ 제가 놓치고 있는게 있을까요? 김영한 선생님 강의 에서는 OrderItem-Item 관계에서 IN쿼리를 호출했을때 IN절에 포함되는 orderId기준의 상위 엔티티인 Order 테이블에 역으로 쿼리가 나가는건 못봤는데 말이죠.. (물론, 양방향 관계를 끊고 단방향 설정시 N+1 쿼리는 나가지 않습니다.)

  • java
  • spring
  • spring-boot
  • jpa
김정훈 댓글 2 좋아요 1 조회수 608

afterCompletion에 대해

해결됨

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

afterCompletion 메서드는 View가 렌더링되고 난 후에 실행되는 메서드라고 설명해주셨고, Controller에서 예외가 발생하면 afterCompletion 메서드의 예외 파라미터로 전달 된다고 하셨습니다. 1. 그렇다면 Controller가 View가 아닌 JSON 등의 모델 데이터를 반환할 때는 afterCompletion 메서드가 실행 되지도 않고 Interceptor가 예외 정보도 전달 받을 수 없는건가요? 만약 맞다면, Controller에서 예외 처리 하는 것이 맞을까요? Controller에서 예외 처리해야하는 것과 afterCompletion에서 예외 처리해야하는 것의 차이는 뭔가요?

  • spring
  • mvc
yejun_1220 댓글 1 좋아요 0 조회수 284

코드를 그대로 따라했는데도 로그가 찍히지 않습니다.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오)네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네 [질문 내용] 여기에 질문 내용을 남겨주세요. 서블릿 필터 - 요청로그 강의 듣고 있는데요. LogFilter.java 와 WebConfig.java 를 강의내용과 똑같이 따라쳤는데도 로그가 나오지 않습니다... 혹시나 놓친부분이 있나 싶어 pdf의 코드를 복사 붙여넣기 해봐도 똑같네요ㅠㅠ 이전까지는 log.info 가 잘 출력됐는데 왜이러는지 모르겠습니다... 도움 부탁드려요

  • spring
  • mvc
soonju981010 댓글 1 좋아요 0 조회수 396

new-form Whitelabel Error Page

미해결

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

섹션 3을 따라하고 있는 상황에서 jsp 디펜던시를 추가하고 그래들 리프레시 이후에 실행을 했는데 404 에러가 발생을 하고 있습니다. 사용하고 있는 스프링부트 버전이 3.2 버전이다 보니 다른 분들이 남겨놓은 질문 및 강의 pdf 파일을 따라서 디펜던시 또한 3.0 이상에 맞게 디펜던시를 추가하여 그래들 리프레시도 해주었는데 계속해서 동일한 에러가 발생하여 질문을 남기게 되었습니다. 어디서 잘못된 것인지 궁금합니다. https://drive.google.com/file/d/1ugzuSjneTV3s2_3SgA15qCJYF64mQANy/view?usp=sharing

  • spring
  • mvc
박남영 댓글 1 좋아요 0 조회수 324

상태 변화 리스너 중 switch-case문 오류 문제

미해결

윤재성의 자바 기반 안드로이드 앱개발 Part 1 - UI Programming

강의 22분 35초 경 switch-case 문을 통해 체크박스의 id로 분기를 하려고 할 때 // id로 분기함 switch (checkboxId) { case R.id.checkBox: break; case 문의 R.id .checkBox 부분에서 "Constant expression required" 에러가 발생합니다. 구글링을 해보니 switch-case 문의 상수가 final로 선언되지 않아 발생하는 문제라고 하는데 어떻게 해결할 수 있을까요?

  • java
  • android
bumseok123 댓글 1 좋아요 0 조회수 3728

findByName 메서드

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] findByName 메서드 리턴값이 result.stream ().findAny(); 인데 findFirst()가 아닌 findAny()를 사용하신 이유가 뭔가요? 둘중 아무거나 사용해도 상관없을까요?

  • java
  • spring
  • mvc
  • spring-boot
성이름 댓글 1 좋아요 0 조회수 249

@RequestParam("username") 생략 관련 질문

해결됨

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

[질문 내용] @RequestParam 관련 강의 중 요청 파라미터-v3 에서 HTTP 파라미터와 RequestParam의 변수명이 같으면 파라미터 이름을 생략할 수 있다고 하는데, 생략을 하면 white label page(status=500)과 함께 "java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not found in class file either." 에러 메시지가 뜹니다. HTTP 요청 파라미터와 변수명이 동일한데도 왜 이런 에러가 뜨는 것인가요? @RequestParam("username") String username (o) @RequestParam String username (x) - 위의 에러 발생

  • spring
  • mvc
changseog8701 댓글 1 좋아요 0 조회수 961

스프링부트 프로젝트 생성이 3버전 부터 가능합니다.

해결됨

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

얼마전까지 2.x 버전도 다운로드 가능했는데 오늘 들어가보니 3.x 버전만 다운로드 가능한데 버전을 낮추거나 2.x 버전을 다운로드 하는 방법이 있나요?

  • spring
  • mvc
white123 댓글 1 좋아요 1 조회수 336

파라미터 받는 방법에 대하여

미해결

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

컨트롤러의 메서드에 파라미터로 VO나 도메인 객체의 경우 ex) Item item만 적더라도 @ModelAttribute가 자동으로 붙기떄문에 생략해도 된다고 이해하였는데요 String이나 Integer의 경우 생략시 @RequestParam이 자동으로 붙으나 Map같은 경우에는 왜 @RequestParam을 강제로 붙여야지만 나오는지 혹시 아실까요?..

  • spring
  • mvc
조건희 댓글 1 좋아요 1 조회수 350

[static 메서드3] 강의 보고 질문드립니다.

미해결

김영한의 실전 자바 - 기본편

[static 메서드3] 강의 보고 질문드립니다. import static 으로 특정 클래스의 메서드 적용해서 메서드 사용하는 것과 클래스 .(dot) 찍고 메서드 사용하는 것 중 실무에서는 어떻게 사용하는 편이 좋은지 궁금합니다.

  • java
  • 객체지향
카드캡터솔쨩 댓글 2 좋아요 0 조회수 458

어떻게 생성자 없이 number1과 number2에 값이 할당된건지 모르겠습니다.(DTO관련)

해결됨

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

안녕하세요 강사님먼저 첫번째 질문은 DTO (CalculatorMultiplyRequest request)를 매개변수로 받는 데, 자동으로 request 인스턴스가 생성되는 것이 이해가 가지 않습니다. 클래스는 생성자를 호출하기 위해서는 new키워드로 생성해야 하는 것으로 알고있는데, 이해가 잘 되지 않습니다.두번째 질문은 GET요청과는 다르게 POST요청은 Request 클래스 내부에 생성자 없이도 number1과 number2에 값이 할당되는 점입니다.어떻게 이게 가능할 수 있죠..?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
mayo3610 댓글 1 좋아요 6 조회수 634

<property name="hibernate.hbm2ddl.auto" value="update"/>

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. <property name="hibernate.hbm2ddl.auto" value="update"/> create / create-drop 은 잘 됩니다. 하지만 update는 이상한점을 발견을 했습니다. 이유를 알고 싶어서 이런 질문 드립니다. update를 value에 작성을 한뒤에 Member class 에서 A - private int age x B - private Integer o 위 와 같이 작성을 하고 나서 실행을 해보면 A는 오류가 발생하지만 B는 정상적으로 작동이 됩니다. 이유를 알려주세요.

  • java
  • jpa
chewjob99 댓글 1 좋아요 0 조회수 323

test results가 안뜹니다.

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

강사님처럼 이렇게 뜨는 것이 아니라 이렇게 뜨는데 묘하게 거슬려서요.. 따로 설정해야하는 부분인가요?

  • java
  • spring
  • mvc
  • spring-boot
Clain 댓글 1 좋아요 1 조회수 343

500에러가 납니다. 원인이 알고싶어요!

미해결

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

궁금한게 있습니다. 수업중 16:00 정도에서의 내용인데요. 컨트롤러를 다형성으로 만들고 나서 처음부터 /frontcontroller/v1/members/save 에 접속하면500에러가 납니다. 그런데 /frontcontroller/v1/members/new-form 으로 접속하여 폼에 데이터를 입력 후 전송버튼을 클릭하면 /frontcontroller/v1/members/save에 접속시 해당컨트롤러에 매핑되어 있는 jsp가 잘 호출되는데요 처음부터 /frontcontroller/v1/members/save 로 접속하면 발생하는 500에러의 이유가 어떤것일까요? 제가 생각하기엔 파라미터값이 넘어오지 않아서 인것 같은데 맞을까요? 정확한 원인이 궁금합니다!

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

두가지 질문이 있습니다.

해결됨

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

hasText가 없는 이유와 대용량파일,동영상파일은 안올라가는 이유가뭔가요 ? 톰캣 쪽에서 설정을 따로 해줘야하는건가요 ?

  • spring
  • mvc
계란 댓글 2 좋아요 1 조회수 487

@PathVariable 변수명 같을때 생략시 오류 (빌드 설정을 gradle로 하면 해결되는 것 같습니다)

해결됨

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

/** * PathVariable 사용 * 변수명이 같으면 생략 가능 * @PathVariable("userId") userId -> @PathVariable String userId */ @GetMapping("/mapping/{userId}") public String mappingPath(@PathVariable ("userId") String data){ log.info("mappingPath userId={}",data); return "ok"; } 다음 코드에서 영상에서 알려주신데로 변수명 중복시 생략하였을때 @GetMapping("/mapping/{userId}") public String mappingPath(@PathVariable String userId){ log.info("mappingPath userId={}",userId); return "ok"; } 아래와 같이 사용하였으니 실행시에 500에러가 뜹니다 { "timestamp": "2023-11-29T03:47:55.458+00:00", "status": 500, "error": "Internal Server Error", "path": "/mapping/userA" } java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not found in class file either.

  • spring
  • mvc
Jaehak Park 댓글 7 좋아요 3 조회수 3947

의존성주입 대해 질문드립니다.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 해당 수업과는 관계가 없는 내용이긴 한데..의존성 주입 관련해서 조금 헷갈리는 부분이 있어 질문드립니다. 먼저, ItemServiceApplication 클래스에서 보면 스캔 범위가 hello.itemservice.web 이하의 경로로 지정되어 있습니다. 아래는 SpringDataJpaConfig 클래스입니다. SpringDataJpaItemRepository 를 주입받는 과정에서, 빨간 에러 표시가 뜨고 'Could not autowire. No beans of 'SpringDataJpaItemRepository' type found.' 라는 빈을 찾을 수 없다는 메시지가 표시됩니다. 어찌보면 당연한 것 같습니다. 해당 레포지토리가 속해있는 경로는 스캔 대상이 아니거든요. 게다가 SpringDataJpaItemRepository 에는 해당 인터페이스를 빈으로 등록할만한 요소를 가지고 있지는 않습니다. 따로 component 로 등록될만한 애노테이션이 붙은것도 아니고요. 그런데 생각해보면 JpaRepository 인터페이스를 상속받고 있어서, 해당 인터페이스에 스프링 빈으로 등록될만한 요인이 있다면 가능한 것일까 싶은 생각은 드는데..이 부분에 대한 확신이 들지 않아 질문드립니다. 실제로 ItemServiceApplication 에서 스캔 범위를 "hello.itemservice.web" -> "hello.itemservice" 으로 변경해보면 위에서 본 빨간 에러는 사라집니다. 그런데 만약 빨간 에러가 나오는게 맞는 상황이라면, 저희가 지금까지 작성한 로직들이 동작하지 않아야 할 것 같아서요. 특히 SpringDataJpaItemRepository 를 주입받는 ItemServiceV1 클래스에서 주입이 안되는게 맞지 않나 싶습니다. 물론 서비스는 추상화된 레포지토리의 의존하고 있긴 하지만, 의존성이 주입되는 시점에는 구체 클래스인 SpringDataJpaItemRepository 클래스가 주입될텐데 이게 정상적으로 동작하는게 이해가 조금 안됩니다. 글이 너무 길었는데..정리해서 말씀드리면 SpringDataConfig.java 에서 SpringDataJpaItemRepository 를 주입받을 때 'Could not autowire. No beans of 'SpringDataJpaItemRepository' type found.' 라는 메시지가 IDE에 표시된다. 실제로 SpringDataJpaItemRepository 클래스는 컴포넌트 스캔 대상 범위에 속하지 않는다. 그런데도 애플리케이션 로직 및 테스트 로직이 정상적으로 수행된다. 해당 상황이 이해가 되지 않는다. 입니다.

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
댓글 1 좋아요 0 조회수 443

인기 태그

인프런 TOP Writers

주간 인기글