묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcTemplateMemberRepository 에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]섹션 6 순수 JDBC강의 중 에러가 나서 질문 드립니다line 3에서 이런 오류가 나는데 왜 발생하는 건가요?line 3 을 주석 처리하고 실행하면 이런 오류가 뜨고 localhost로 접속 후 회원가입을 하면 Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Mon Jan 01 19:33:51 KST 2024There was an unexpected error (type=Internal Server Error, status=500). 이런 에러가 뜹니다
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
client url 질문
redirect를 이해했다고 생각했는데 아직 제대로 이해하지 못한 것 같아서 질문 남겨요 그냥 redirect: 이걸 안쓰면 client의 URL은 바뀌지 않는거잖아요?근데 왜 redirect를 안써도 client의 URL도 바뀌는 거죠? @GetMapping("/{itemId}") public String item(@PathVariable long itemId, Model model){ Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "basic/item"; }이거 쓰면 /itemId 가 붙은 URL로 바뀌잖아요. 그럼 redirect 안써도 url이 자동으로 바뀌는거 아닌가요?? 근데 왜 redirect: 를 안쓰면 client의 URL은 바뀌지 않는다는 것일까요...제가 어디를 이해 못하고 있는건지 아니면 어디를 잘못 생각하고 있는건지 모르겠습니다...AI 답변 말고 다른 사람께서 답변 달아주시면 정말 감사하겠습니다ㅠㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceIntegrationTest 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요. MemberServiceIntegrationTest의 회원가입 테스를 진행 중에 오류가 발생하여 질문을 남깁니다..제가 알아본걸로는 빈 자동 주입이 2개이상여서 안되는것 같아서 어노테이션들도 확인해봤는데 없었고 다른 이유들도 많이 봤지만 오류를 찾을 수 없어 질문 남깁니다.... [에러 코드]org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'springConfig' defined in file [/Users/hyrki/Desktop/study/hello/build/classes/java/main/hellospring/hello/SpringConfig.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springDataJpaMemberRepository' defined in hellospring.hello.repository.SpringDataJpaMemberRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract java.util.Optional hellospring.hello.repository.MemberRepository.findfById(java.lang.Long); Reason: Failed to create query for method public abstract java.util.Optional hellospring.hello.repository.MemberRepository.findfById(java.lang.Long)! No property 'findfById' found for type 'Member'; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional hellospring.hello.repository.MemberRepository.findfById(java.lang.Long)! No property 'findfById' found for type 'Member' ㅠㅠㅠㅠㅠㅠㅠㅠ부탁 드리겠습니다.....
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
redirect 질문
초반에 redirect를 이해한거 같다가 들으면서 제가 제대로 이해하고 있는지 몰라서 확인차 질문 남겨요 redirect는 목적이 client의 URL을 바꾸는게 맞나요? redirect를 안쓰면 즉 "redirect:" 이 구문이 없는 viewname을 String으로 return하면 viewResolver가 viewname에 맞는 뷰를 리턴하고 client의 URL은 안바뀌고 화면만 바뀌는거고 redirect를 쓰면 화면도 바뀌고 client의 URL도 바뀌는거 맞나요? 그래서 저는 client가 POST 중복 요청을 보낼 수 없도록 redirect를 써서 client의 URL까지 바꿔주는 작업이라고 이해했는데 이거 맞는건가요? +근데 그냥 redirect 안써도 화면도 바뀌고 url도 바뀌는데 그럼 그냥 redirect 안써도 되는거 아닌가요? 예를 들어 제가 상품목록에서 A 상품을 누르면 url도 basic/items/1 이렇게 바뀌는데 이럴때는 redirect를 안쓰잖아요? 그럼 redirect랑의 차이점이 없는거 같은데요..?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우에서 java은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 오류 나시는 분들 참고하시면 좋을것 같습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.'java'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라는 오류는아래 블로그 참고해서 해주시면 됩니다!!2번 단계부터 진행하시면 되요~!!https://m.blog.naver.com/under0tree/222343927513다만, 경로 같은 경우는 intellij에서 File -> Project Structure -> SDKs 에서 JDK home path 에서 확인하시면 될 것 같습니다!!저는 D 드라이브에 설치해놔서 따로 설정해줬습니다!!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
build.gradle로 프로젝트를 open 해야 하는 이유가 뭘까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]그냥 프로젝트 폴더를 선택해서 열어도 build.gradle 파일을 읽는 것 같은데, 꼭 build.gralde 파일을 선택해서 열어야 하는 이유가 있나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
sendError부분과 setStatus이 차이가 아직 잘이해가 되지않습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]@Slf4j public class MyHandlerExceptionResolver implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { try{ if(ex instanceof IllegalArgumentException){ log.info("IllegalArgumentException resolver to 400"); response.sendError(HttpServletResponse.SC_BAD_REQUEST,ex.getMessage()); ModelAndView mv=new ModelAndView("test"); System.out.println(mv.getViewName()); mv.addObject("message","안녕하세요"); return mv; } }catch (IOException e){ log.error("reslover ex",e); } return null; } }해당 부분에 대해서 궁금한점이 생겨 질문드립니다.sendError같은경우에는 setStatus와는 다르게 제가 이해하기로는 ModelAndView가 있더라도ModelAndView mv=new ModelAndView("test");1.톰캣(WAS)에 에러가 발생했다는것을 알려주고 또한 톰캣은 해당에러를보고 BasicErrorController로 설정한 뷰를 보여주기떄문에 제가설정한 "test"뷰는 무시되고 retrun되는게 맞나요?2.그리고 또궁금한게 해당 부분이 만약에 맞다고 하면 mv.addObject("message","안녕하세요");제가 만든 "test"라는 ModelAndView객체에 모델 데이터를 담았기떄문에 BasicErrorController설정된 뷰화면에 모델데이터가 넘어가지않아야 정상으로 생각이 되는데 BasicErrorController의 뷰에도 해당 모델데이터가 넘어가는데 이유가 뭔지 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
컨트롤러 return구문 {}표현식
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 커뮤니티 글을 읽어도 답이 없길래 질문드려요. 컨트롤러에서 return할때 소위 말하는 el표현식을 사용해서 {} 이런 기호로 변수를 사용하던데,1.정확히 pathvariable이 있을때만 가능한 문법인건가요?2.매핑url에서는 {test111}로 받더라도@Pathvariable로 변수명을 test222로 바꿀수 있는데, 이 경우에는 return 의 표현식에 test111이 먹히는지 test222가 먹히는지 궁금합니다.. 감삼다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
typemismatch
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. @PostMapping("/add") public String addItemV4(@ModelAttribute Item item, BindingResult bindingResult , RedirectAttributes redirectAttributes, Model model) { //파라미터 순서 중요 /* ValidationUtils.rejectIfEmptyOrWhitespace(bindingResult, "itemName", "required");*/ //검증로직 if (bindingResult.hasErrors()) { log.info("errors={}", bindingResult); return "validation/v2/addForm"; } log.info("objectName={}", bindingResult.getObjectName()); log.info("target={}", bindingResult.getTarget()); if (!StringUtils.hasText(item.getItemName())) { /* errors.put("itemName", "상품이름값은 필수입니다.");*//* /* bindingResult.addError(new FieldError("item", "itemName",item.getItemName(),false,new String[]{"required.item.itemName"},null, "상품이름은 필수입니다")); */ bindingResult.rejectValue("item", "required"); } if (item.getPrice() == null || item.getPrice() > 1000000 || item.getPrice() < 1000) { /* errors.put("price", "가격은 1000부터 100000까지만 입력하세요");*/ /* bindingResult.addError(new FieldError("item", "price",item.getPrice(),false,new String[]{"range.item.price"},new Object[]{100,1000000}, "가격은 1000부터 100000까지만 입력하세요")); */ bindingResult.rejectValue("price", "range", new Object[]{1000, 10000000}, null); } if (item.getQuantity() == null || item.getQuantity() >= 9999) { /* errors.put("quantity", "수량은 9999이하만 입력가능합니다");*/ /* bindingResult.addError(new FieldError("item", "quantity",item.getQuantity(),false,new String[]{"max.item.quantity"},new Object[]{9999}, "상품이름은 필수입니다")); */ bindingResult.rejectValue("quantity", "max", new Object[]{9999}, null); } //특정 필드가 아닌 복합 필드 값 검증 if (item.getPrice() != null && item.getQuantity() != null) { int resultPrice = item.getPrice() * item.getQuantity(); if (resultPrice < 10000) { /*errors.put("globalErrors", "수량과 값의 합이 10000이상 이어야합니다. 현재 값은 = " + resultPrice);*/ /* bindingResult.addError(new ObjectError("item",new String[]{"totalPriceMin"},null, "수량과 값의 합이 10000이상 이어야합니다. 현재 값은 = " + resultPrice)); */ bindingResult.reject("totalPriceMin", new Object[]{10000, resultPrice}, null); } }#required.item.itemName=상품 이름은 필수입니다. #range.item.price=가격은 {0} ~ {1} 까지 허용합니다. #max.item.quantity=수량은 최대 {0} 까지 허용합니다. #totalPriceMin=가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1} #==ObjectError== #Level1 totalPriceMin.item=상품의 가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1} #Level2 - 생략 totalPriceMin=전체 가격은 {0}원 이상이어야 합니다. 현재 값 = {1} #==FieldError== #Level1 required.item.itemName=상품 이름은 필수입니다. range.item.price=가격은 {0} ~ {1} 까지 허용합니다. max.item.quantity=수량은 최대 {0} 까지 허용합니다. #Level2 - 생략 #Level3 required.java.lang.String = 필수 문자입니다. required.java.lang.Integer = 필수 숫자입니다. min.java.lang.String = {0} 이상의 문자를 입력해주세요. min.java.lang.Integer = {0} 이상의 숫자를 입력해주세요. range.java.lang.String = {0} ~ {1} 까지의 문자를 입력해주세요. range.java.lang.Integer = {0} ~ {1} 까지의 숫자를 입력해주세요. max.java.lang.String = {0} 까지의 문자를 허용합니다. max.java.lang.Integer = {0} 까지의 숫자를 허용합니다. #Level4 required = 필수 값 입니다. min= {0} 이상이어야 합니다. range= {0} ~ {1} 범위를 허용합니다. max= {0} 까지 허용합니다. typeMismatch.java.lang.Integer=숫자를 입력해주세요. typeMismatch=타입 오류입니다.이렇게 따라했는데이런식으로 가격에 오류코드가 안뜨고 화이트라벨오류가 뜹니다 뭐가 문제인가요??타입미스매치를 에러프로퍼티에 명시해놨는데도 안됩니다ㅠ
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
HandlerExceptionResolver부분에 대해서 질문이있습니다.
[질문 내용]HandlerExceptionResolver시작 17:23초 경 @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { try{ if(ex instanceof IllegalArgumentException){ log.info("IllegalArgumentException resolver to 400"); response.sendError(HttpServletResponse.SC_BAD_REQUEST,ex.getMessage()); return new ModelAndView("test"); } }catch (IOException e){ log.error("reslover ex",e); } return null;해당 부분에서 IllegalArgumentException발생되면ModelAndView를 동작시킨다고 하셨는데 response.sendError인해서 400에러가 was까지 전달된후 다시 was는 해당 Error를 읽고 다시 BasicErrorController로 설정된 값이 return 되기때문에 우리가 ModelAndView부분은 sendError로 인해서 반환이 못되는 상태가 아닌가요??제가 잘못 이해했나해서 질문드립니다!
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
예외 추상화 적용시 예외를 service단에서 처리하지 않을경우
안녕하세요 강의 내용 중 문제에 대한 제 생각을 확인차 질문드립니다. JDBC 기술에 종속적인 예외를 spring기술에 종속적인 예외로 바꿔주어 우리가 모든 데이터접근 기술의 예외코드를 알필요없이 문제를 처리할 수 있음을 알겠습니다. 이때 spring 이 제공하는 모든 예외는 RuntimeException이기 때문에 따로 service단에서 try catch로 잡지 않을 경우 생략된 throw로 controller -> servlet container로 자동으로 던져지는게 맞을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
AJAX통신
안녕하세요, 김영한 강사님!ajax 통신 관련 강의도 들어야 한다고 생각하는데요!혹시 강사님 강의중에 프론트단과 데이터 통신을 하는 부분의 강의나 ajax 관련강의가 있을까요?ajax 를 몰라서요!강의 목차를 여러개의 강의를 들어가봐서 확인을 해봤더니 ajax 와 관련된 강의를 찾지 못해서요 😃있다면 어느 강의인지 말씀해주시면 감사하겠습니닿ㅎ 백엔드 부분도 ajax 알아야하는것 맞죠?!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
AI 답변에 대한 재문의
아!.. 제가 궁금한것은/addForm()에서 생성된 빈 객체가1. addITem 메소드 호출시 바인딩 되는 객체와 동일한 객체인지 와editForm 메소드에서 findById 로 찾는 객체와같은 객체인지 궁금합니다!또한,Item 객체가 단순히 자바빈으로 등록되어있는것이지, 싱글톤은 아니죠?( 꼬리에 꼬리를 무는생각으로 이어진고민입니다.).aI 답변을 받았는데 아직 이해가 잘 가지 않아서 재질문 드립니다!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
postmapping 에서의 모델바인딩 객체
폼에서 작성한 데이터들이 @PostMapping("/add)로 넘어가서 @ModelAttribute 를 통해 item 객체에요청 파라미터를 프로퍼티 접근법으로 값을 세팅하고 모델에 item 객체를 item 의 이름으로 바인딩 되는것이 맞죠?맞다면, @ModelAttribute 를 통해 바인딩 되는 객체는addForm 메소드에서 만들어주어서 타임리프에 활용가능하게 넘겨주었던 그 item 객체인가요?(같은 객체를 재사용하는건지) ,아니면 새로운 객체를 또 만들어서 새로운객체에 값을 세팅해주고 모델에 바인딩을 해주는것인지 궁금합니다 수정폼에서 Item item = itemRepository.findById(itemId); 에서 찾는 item (entity?) 도 addForm 에서 새로 생성했던던 그 객체인것이죠?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@ResponseBody 어노테이션을 쓰는 메소드와 안 쓰는 메소드 차이가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 강의를 듣다가 헷갈리는 부분이 있어서 질문 드립니다. @ResponseBody를 메소드에 붙이고 안 붙히는 기준이 궁금합니다. 일단 제가 이해한 @ResponseBody는 뷰를 따로 사용하지 않고 HTTP 응답 본문에 메소드가 리턴한 정보(원시 데이터 또는 객체=json)를 입력해서 응답하는 것으로 이해했습니다. 근데 아래 사진의 빨간 밑줄 친 메서드들을 보면 뷰의 논리적 이름이 아닌 ResponseEntity 객체를 리턴하는 것으로 보여지고 객체를 리턴하면 HTTP 응답 본문에 입력하려면 @ResponseBody 어노테이션이 필요한 것이 아닌가 궁금합니다. 그런데 ResponseEntity의 코드를 보니까 HttpEntity를 상속 받던데 ResponseEntity가 HTTP 응답 그 자체라서 @ResponseBody를 사용하지 않는 것인가요?답변 주시면 정말 감사하겠습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
base.html 추가link
base.html 파일에서 <!--추가--> 부분에서알려주셨던 내장 태그<th:block> 태그 대신 일반태그 link 태그를 넣어도 정상작동하는것을 확인했습니다. 둘중 아무거나 사용해도 무방한가요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
제가 이해한내용이 맞나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]@ModelAttribute의 경우에는 잘못된 타입입력으로인해 바인딩 자체가 안되더라도 BindingResult에 담기고 Controller가 호출되는반면 @RequestBody의 경우에는 바인딩자체가 호출이 안될때에는Controller자체가 호출이 안된다라고 이해하면될까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
신규 트랜잭션 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.@Transactional도 REQUIRED 옵션이 디폴트 일텐데 왜 각각이 분리되어서 동작하는지 궁금해요REQUIRED 옵션이 기본 디폴트라고 말씀하셨는데 BasicTxTest는 트랜잭션 매니저를 주입받아서 트랜잭션을 사용하기 때문에 REQUIRED 옵션으로 인해 신규 트랜잭션을 getTransaction 하더라도 기존 트랜잭션이 존재하면 내부 트랜잭션으로 간주되는 것이고,MemberServiceTest는 @Transactional 어노테이션 덕분에 트랜잭션 AOP를 사용하여 각각 다른 AOP 객체가 생성되어서 물리 트랜잭션이 두개가 생기는 건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
webapp 관련 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]이전 강의에서도 webapp에 넣어도 인식을 못해서 질문게시판을 봐도 해결이 안되서 static에 index.html을 넣어서 진행했는데 요번에 new-form.jsp(강의 3분 부분) 또한 static에 넣으면 되겠지 하고 했는데 안되서 webapp을 따로 만들어봐도 안되서 질문드립니다.https://drive.google.com/file/d/1vj5qb3pyqOGxxT2YTs2VrKI397SIARdv/view?usp=sharing에러코드Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Sat Dec 30 17:50:52 KST 2023There was an unexpected error (type=Not Found, status=404).------------------------------------------------------
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
지금 스프링입문 듣기전에 듣는 학생인데 공지사항같은거 없을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]지금 많이 바뀌었는데 프로젝트 부분을 어떻게 선택해야할까요? 버전은 3.2.1로 해도되나요?해당 내용들을 공지해주신 곳이 있나요?