학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 프로젝트 생성부분 강의에서 openjdk 11.0.19 버전과 스프링부트 2.7.12버전으로 start.spring.io 사이트에서 파일을 받아서 진행하고 있는데 요런 warning이 나오고 있어서 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의 5분쯤에 나오는 memberService.findOne(saveId).get() 과 memberSrvice.findOne(saveId)의 차이점이 뭘까요 .. ? 반환이 둘 다 Optional 로 감싼 member라고 생각 했는데 get()으로 값을 꺼내면 optional의 value 값이 나오는 걸까요 .. ? optional을 잘 이해를 못해서 그런건지 이 부분 잘 이해가 안 가는데 어떤 내용을 더 학습해야 이해에 도움이 될까요 ...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. public void update(Long itemId, Item updateParam){ updateParam.setItemId(itemId); store .replace(itemId, updateParam); } 이것은 문제의 소지가 있습니까?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. WEB-INF/views/member.jsp에서 jstl을 코드에 오류가 발생하는데 이유가 무엇일까요 ?
현 시점에서 강의 들을 때 부트3.0이상에 자바17 쓰라고 안내되어있어 현재 환경은 이렇습니다 스프링부트 3.0.6 java17 인텔리제이 커뮤니티 23.1.1 컴파일 에러라 run을 해볼 수 없는 상황입니다ㅠㅜ 검색하면서 IntelliJ 에서 InvalidateCaches는 해봤는데 안됩니다ㅠㅠ 컴파일 에러메세지 Cannot resolve method 'findById' in 'MemoryMemberRepositoryTest' 강의와 다른 특이점 강의에서 junit 임포트 하라고 할 때도 임포트가 안뜨고 classpath 설정하라고 추천이 떴고 이때 junit 5.8.1로 추천하는 걸로 하고 나서 import가 뜨길래 이렇게 junit 임포트했습니다 @Test public void save(){ Member member = new Member(); member.setName("spring"); repository.save (member); Member result = repository.findById(member.getId()).get(); // 검증하기 findById로 // get()으로 값을 바로 꺼내는 방법은 좋지 않으니 테스트코드에서는 상관x System. out .println("result = " + (result == member)); // 글자로 보는 건 불편하니 Assertions라는 기능이 있음 Assertions. assertEquals (member,result); // .assertEquals(기대되는값expected, 실제결과actual) 파라미터
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의를 수강하며 이것저것 시도해보던 중, 컨트롤러 내부의 @ExceptionHandler 메소드를 private으로 선언해도 정상적으로 처리되는걸 확인했습니다. 뭔가 이상하다 싶어서 혹시나 하고 컨트롤러 내의 @RequestMapping 접근제한자도 private으로 바꿔봤는데요, 역시 정상적으로 동작합니다. 무언가 리플렉션이나 프록시같은 기술이 엮여있을 것 같기는 한데 자바라는 언어의 룰을 갈아엎는 느낌이라 좀 혼란스럽네요. 질문을 정리하면 이렇습니다. 스프링이 어노테이션을 기반으로 메소드를 등록한 후에 상황에 맞게 호출하는 것인데, 어떻게 private 메소드를 객체 외부에서 호출할 수 있는 것인가요? @ExceptionHandler 어노테이션이 붙은 메소드를 private으로 선언해도 정상적으로 작동하도록 둔 것이 일종의 버그인지, 아니면 Spring 프레임워크에서 의도하는 사용 방식인지 궁금합니다.
new-form.jsp 파일에서 계속 404 에러가 뜹니다. 강의 영상대로 진행하였고, 강의 자료 파일로 적용해보아도 해결되지 않았습니다. 도움이 필요합니다. 스프링 부트는 2.6 으로 만들었습니다. https://drive.google.com/file/d/1qjHK8LSMmQcBbh2bLGNK7coLZ_F1g1HB/view?usp=sharing
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, SessionManager와 HttpSession을 비교하다 의문점이 들어 질문 드립니다. SessionManager를 구현할 땐 Cookie를 생성한 후 이를 response에 넣주도록 했습니다. 그래서 이를 사용할 때 파라미터로 response를 넣어줬구요. public void createSession(Object value, HttpServletResponse response) { // 세션 ID 생성하고 값을 세션에 저장 String sessionId = UUID.randomUUID().toString(); sessionStore.put(sessionId, value); // 쿠키 생성 Cookie mySessionCookie = new Cookie(SESSION_COOKIE_NAME, sessionId); response.addCookie(mySessionCookie); } 그런데 서블릿에서 구현한 HttpSession을 사용했을 땐 Session을 생성한 후 HttpSession session = request.getSession(true); setAttribute로 값을 넣어준 후 (이 때 쿠키가 생성된다고 이해했습니다.) session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember); 따로 response에 쿠키를 넣어주지 않았는데도 클라이언트에 쿠키가 저장되는것 같습니다. HttpSession이 이를 가능하게 해주는 걸까요?
안녕하세요, build.gradle의 빌드 실패가 나서 문의드립니다. JDK 버전은 다음과 같이 17.0.6입니다. 그리고 인텔리제이 설정은 다음과 같습니다. java 컴파일러 설정 2. 빌드 도구 설정 3. 프로젝트 설정 마지막으로 처음 프로젝트를 다운로드 받았던 설정은 다음과 같습니다.(spring boot 3.0.7 버전 사용) 처음 build.gradle을 실행할 때부터 에러 로그 하나도 없이 그냥 빌드 실패했다는 에러가 뜹니다. 컴퓨터를 여러번 껐다가 켜봐도 여전히 같은 에러가 뜹니다. 인텔리제이와 스프링이 완전 처음이라서 이 에러를 어떻게 해결해야 하는지 모르겠습니다. 커뮤니티의 다른 글들을 참고해봐도 딱히 도움이 되지는 않는 것 같습니다. 도와주시면 너무 감사하겠습니다.
평소에는 바로 insert , delete 됐는데 등록 버튼을 눌러도 한참 기다리다가 갑자기 timeout에러가 뜨네요ㅜ 그래서 테이블 자체를 drop하려고 해도 sql의 status창에 started 라고 뜨고 succeed나 failed도 안뜨구요..ㅠ어떻게하면 좋을까요..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (에) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요, 강의를 듣고 혼자 따로 생각해보다가 의문점이 들어 질문드립니다. 컴포넌트 스캔과 자동 의존관계 설정 강의의 6분 40초대에서 설명하시는 내용중 Service의 생성자에 의해 의존관계가 형성된다 설명해주셨습니다. 저는 생성자가 의존관계를 형성해주는 것이 아니라 import를 통해 Service 객체가 Controller 객체안에 포함이 되어 의존관계가 되는 것이 아닌가 하는 의문점에 질문 드립니다. 아니라면 Service를 import를 왜 하는 건지 잘 모르겠습니다.
안녕하세요 먼저 강사님께서 보여주신 예외처리 흐름 이미지를 보고 ExceptionHandlerrExceptionResolver 는 handler를 통해 올라온 예외만 처리할 수 있다고 이해하였습니다.(호출 주체가 DispatcherServlet이기 때문) 질문은 아래와 같습니다. 등록된 ExceptionResolver 들이가 handler에서 올라온 예외에 대해서만 처리 가능한지? 아니면 DispatcherServlet내부에서 발생하는 에러 전체에 대해 포괄적으로 처리해주는지 @ControllerAdvice에 선언된 @ExceptionHandler도 ExceptionHandlerrExceptionResolver 가 처리하는가? controller에 선언된 @ExceptionHandler에 대한 설명은 해주셨는데, @ControllerAdvice에 선언된 @ExceptionHandler의 처리 흐름은 설명을 안 해주셨네요. @ControllerAdvice의 처리 흐름은 고급편 AOP부분을 이해해야할까요? 1번이 맞다면 결국 DispatcherServlet내에서 발생하지 않은 예외는 @ControllerAdvice에 선언된 @ExceptionHandler가 실행되지 않는가? ex) DispatcherServlet이 호출되기 전인 Spring Security filter단계에서 Service레이어 코드를 호출하고 예외가 발생한 경우 -> 이 경우 논리대로라면 예외가 발생하더라도 ExceptionHandler가 호출되지 않을 것 같은데 맞나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 1. assertThrows(obj1, obj2) obj1,2의 파라미트의미 2. IllegalStateException.class의 의미가 뭔지 궁금합니다. IllegalStateException 찾아보니깐 또 클래스이더라고요!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, 프론트컨트롤러를 도입하게 되면서 Servlet Container에는 어떤것이 담기게되는지 의문이 들어 질문을 남깁니다. 기존 ServletMVC 패턴을 사용할 때는 각 URL 마다 Servlet을 구현하면서, 구현한 Servlet들이 Servlet Container에 싱글톤 패턴으로 담기고, 쓰레드들이 사용하는 것 으로 이해했습니다. 그런데 FrontController를 도입하게 되면서 각 URL 에 맵핑되던 Servlet들이 전부 Controller로 변하게 되고, FrontController만 Servlet으로 남게된 것으로 이해했는데 이게 맞는 설명일까요..? 또 Controller로 변하게된 컨트롤러들은 @Controller 어노테이션을 통해 스프링 빈으로 관리되는 것으로 이해했는데, 이러면 Servlet Container 에는 FrontController를 구현한 Dispatcherservlet 만 들어있고 나머지 Controller는 스프링 컨테이너에 들어가는게 맞을까요? 처음 접하는 개념이어서 뒤죽박죽 섞인 것 같은데,, 답변 주시면 감사하겠습니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] //Header 모든 정보 private void printHeaders(HttpServletRequest request) { System.out.println("--- Headers - start ---"); /* Enumeration<String> headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String headerName = headerNames.nextElement(); System.out.println(headerName + ": " + headerName); } */ request.getHeaderNames().asIterator() .forEachRemaining(headerName -> System.out.println(headerName + ": " + headerName)); 의 결과 내용이 다음과 같습니다. --- Headers - start --- content-type: content-type user-agent: user-agent accept: accept postman-token: postman-token host: host accept-encoding: accept-encoding connection: connection content-length: content-length --- Headers - end --- 실제 값이 나오는 것이 아닌, 필드명을 그대로 찍습니다. 강의내용에서도 그렇고 제공해주신 코드로 돌려봐도 위와 같이 나옵니다. 확인 부탁드리겠습니다.