inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

쓰기 지연 질문입니다

미해결

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

JPA를 사용하지 않으면 데이터베이스에 바로 SQL을 을 보내지만, 커밋을 할 때 저장을하고, 롤백을 하면 내용을 원래대로 복구하던 것을 JPA를 사용하면 커밋을 할 때 까지 SQL을 보내지 않기 때문에 롤백이란 기능이 사라졌다고 생각하면 되는 것일까요? 그렇다면 원래는 커밋을 하지 않아도 내부에선 반영이 되기 때문에 테스트를 할 수 있었는데 이런 경우는 어떻게 되는 것인가요 ? (테스트코드에서 @Transactional같은 경우 )

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

질문입니다!

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

https://drive.google.com/file/d/1txo4odVUdZBk8BnrLM0yAo5LKhBSpdR5/view?usp=sharing MemberServiceV4Test 가 실패했다고 나오는데 MemberRepositoryV4_2로 주입해주면 잘 되는 걸로 봐서 MemberRepositoryV5가 문제가 있는 것 같은데 아무리 찾아도 모르겠습니다 ㅠㅠ

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

MemberServiceV1 @RequiredArgsConstructor 질문입니다

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

@RequiredArgsConstructor 이 애노테이션은 final이 붙은 변수의 생성자를 자동으로 생성해주고, 생성자가 하나만 있다면 @AutoWired를 생략할 수 있다고 알고 있습니다. private final MemberRepositoryV1 memberRepository; 근데 여기서, MemberRepositoryV1가 Bean으로 등록되지 않았는데 어떻게 자동으로 주입을 받을 수 있는 것이죠?

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

Connection, pstmt 질문입니다

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

public void aaa() throws SQLException { String sql = "delete from member where member_id =?"; String memberId = "!"; try { Connection con = getConnection(); PreparedStatement pstmt = null; pstmt = con.prepareStatement(sql); } catch (Exception e) { } } 이렇게 try 문 안에서 한번에 받지 않고 Connection con = null; PreparedStatement pstmt = null; 이렇게 null로 외부에서 선언을 하는 것은 finally 문 안에 close 메서드에 파라미터로 넘겨주기 위함이 맞나요 ?

  • spring
댓글 2 좋아요 0 조회수 518

DataAccessException 타입으로 던졌는데, BadSqlGrammarException으로 잡을 수 있는 이유가 궁금합니다.

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Java 기본 문법을 여쭤보는 것 같지만 궁금합니다ㅜㅜ. 어떻게 부모타입(DataAccessException)으로 throw했는데 자식타입(BadSqlGrammarException)으로 catch할 수 있는 건가요? 이렇게 테스트를 해보았는데, 잡히더라구요. 그래서 catch문에서 자동으로 upcasting이 되는건가 싶어서 RuntimeException이 아닌 Checked Exception으로도 진행을 해보았습니다. 하지만 컴파일 에러가 발생하더라구요ㅜㅜ. RuntimeException만 upcasting을 해주는 건지, 아니라면 어떻게 자식타입으로 catch할 수 있는건지 궁금합니다!

  • spring
황규철 댓글 3 좋아요 2 조회수 1032

join과 join fetch 의 차이 ..

미해결

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

OrderQueryRepository 에 findAllByDto_flat 보면 다 join 으로 되어있는데 join과 join fetch (페치 조인)의 차이점은 뭔가요 ..? join도 lazy 로 되어있는거 한번에 끌고오는 건 비슷한 거 같은데 .. ㅜ

  • java
  • spring
  • spring-boot
  • jpa
김김 댓글 1 좋아요 0 조회수 657

세션 개념이 잘 이해가 되지 않아서 질문입니다

미해결

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

세션 만들기 //로그인 성공 처리 //세션이 있으면 있는 세션 반환, 없으면 신규 세션 생성 HttpSession session = request.getSession(); //세션 로그인 회원 정보 보관 session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember); 세션 지우기 HttpSession session = request.getSession(false); if (session != null) { session.invalidate(); } 세션 확인하기 HttpSession session = request.getSession(false); if (session == null) { return "home"; } 쿠키는 클라이언트 측에서 저장하고 세션은 서버측에서 저장한다고 알고 있는데요. request 로부터 getSession을 통해 얻는 것이 무엇인지가 궁금합니다. request.getSessin()을 통해 얻는다는 것은 사용자의 요청으로부터 얻은 Session이고 여기에 setAttribute 하는 것은 서버에 데이터를 저장하는게 아니라 사용자의 요청에 저장을 하게 되는 것 아닌가요 ?? (setAttribute가 사용자의 request와 서버 모두 저장하는 것인가요?) session은 cookie와 같다면 서버 내부적으로 어디에 저장돼서 어떻게 확인할 수 있는 건지 궁금합니다.

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

9분 05초 author이랑 isbn

미해결

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

author이랑 isbn이 null로 나와있는데 싱글테이블에서 Album이랑 Movie에 관련된 컬럼은 안나오고 딱 Book이랑만 관련된 author이랑 isbn 만 null로 표시됐는데 이건 JPA가 Book인 걸 알아서 그것만 표시해주는건가요 ?? 어떻게 author이랑 isbn만 표시해주게 되는건지 궁금합니다 ..

  • java
  • spring
  • spring-boot
  • jpa
김김 댓글 2 좋아요 0 조회수 532

포인트컷 활용 질문

해결됨

스프링 핵심 원리 - 고급편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 개인 토이 프로젝트에 생성과 관련된 트랜잭션이 발생할 때마다 로그를 남기는 기능을 aop를 적용 해서 만들어 보고 싶어서 새로운 어노테이션을 만들어서 구현을 했습니다. 그런데 이렇게 구현하면 aop의 장점인 본래 코드를 수정하지 않고 적용할 수 있다는 점을 놓치게 되는것 같아서 고민이 생겼습니다. 새로운 어노테이션을 만들어서 적용하는 것과 관련된 메서드의 이름을 전부 통일( "ex) create~~()" ) 하는 것 중에 어떤 방법이 좀 더 좋은 방법일지 기준이 잘 안섭니다. 사진도 같이 첨부하겠습니다. 감사합니다. +) 혹시 스프링 시큐리티에 대한 강의가 계획에 있으신지 궁금합니다. 당장 계획이 없으시다면 공부하기 좋은 도서도 추천해주시면 감사하겠습니다.

  • spring
  • 디자인-패턴
789456jang 댓글 1 좋아요 2 조회수 599

프로메테우스, 그라파나 설치 서버 위치

미해결

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

[질문 내용] 강의에서는 프로메테우스와 그라파나를 개발용 PC 와 같은 localhost 에 설치하였는데, 이것은 강의 교육용이기 때문에 localhost 에 설치한 것인가요? 실제 운영시에는 프로메테우스 서버 또는 그라파나 서버를 별도로 운영하나요?

  • spring
  • spring-boot
  • prometheus
  • grafana
devin adkins 댓글 2 좋아요 1 조회수 1176

실무에서 모든 컨트롤러에는 이런 식의 메서드가 있는 건가요?

미해결

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

@ExceptionHandler public ErrorResult exHandler(Exception e) { return new ErrorResult("error", e.getMessage()); } 실무에서 웬만한 예외들은 다 처리를 해줄 텐데 예기치 못한 예외들을 위해 저런 식으로 Exception e를 파라미터로 받는 메서드를 작성해줄까요 ???

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

404 오류 화면 스프링 부트 제공

미해결

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

@RequestMapping 을 하지 않은 URL을 입력하면 [404 오류 화면 스프링 부트 제공] 화면 만 나오는데 이유가 무엇인가요? 좀 더 포괄적인 [4xx 오류 화면 스프링 부트 제공] 이 나오는게 맞지 않나요 ?? 다른 이유 없이 스프링 측에서 저렇게 세팅했기 때문에 나오는 건가요 ?? 200과 300을 보냈을 때는 하얀 공간만 나오는데 2xx,3xx 상태코드들은 실패가 아니기 때문에 그런 것인가요? 맞다면 이 하얀 화면은 HTTP Status 500 – Internal Server Error (error/500.html이 없을 때 나오는 화면) 가 나오는 것처럼 스프링부트가 내부적으로 세팅해놓은 화면인 건가요?

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

세션 질문입니다.

미해결

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

세션 만들기 //로그인 성공 처리 //세션이 있으면 있는 세션 반환, 없으면 신규 세션 생성 HttpSession session = request.getSession(); //세션 로그인 회원 정보 보관 session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember); 세션 지우기 HttpSession session = request.getSession(false); if (session != null) { session.invalidate(); } 세션 확인하기 HttpSession session = request.getSession(false); if (session == null) { return "home"; } 세션 만들기에서는 session.setAttribute 로 정보를 저장도 했다가, 지우기 혹은 확인하기에서는 쿠키의 역할을 하는 것 같은데 session은 쿠키 + 쿠키저장소(SessionManager의 HashMap) 두 역할을 모두 하는 건가요 ? 그게 아니라 session은 cookie와 같다면 서버 내부적으로 어디에 저장돼서 어떻게 확인할 수 있는 건지 궁금합니다.

  • spring
  • mvc
댓글 1 좋아요 2 조회수 566

@NotBlank 질문입니다

미해결

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

예를 들어 @NotBlank String nickName 이런 경우에 nickName :"12 34 56" 이런 닉네임도 안 되는 건가요?? 아니면 nickName : " " << 이런 경우만 금지하는 건가요?? " " 만 금지하는 것인지, 문자열 속에 " "를 금지하는 것인지 궁금합니다 ..

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

findCookie 에서 쿠키가 2개인 경우는 없나요 ?

미해결

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

아이디가 2개이고, 이 2개의 아이디로 모두 로그인을 하면서 쿠키를 발급 받아가지고 클라이언트(브라우저)에 SESSIN_COOKIE_NAME을 이름으로 갖는 쿠키가 2개인 경우는 없나요 ?

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

@CookietgValue도 객체를 자동으로 생성해주나요 ?

미해결

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

HomeController의 homeLogin메서드의 파라미터 중 memberId에는 @ModelAttribute가 붙지 않았는데 LoginController에서 오는 response의 Cookie를 자동으로 어떻게 받는 건가요 ?

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

GetMapping 에서 @ModelAttribute 사용 이유

미해결

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

영상 8:57 에서 @GetMapping("/add") 에서 파라미터로 @ModelAttribute를 받는 이유가 무엇인가요 ? PostMapping이 아니라 GetMapping일 때는 데이터가 넘어오지 않기 때문에 사용할 이유가 없는 것 아닌가요 ??

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

스프링 입문에 대하여 질문드립니다

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하십니까, 자주하는 질문 에서 학습방법을 봤는데 코드를 쭉 따라하는식 방법이 적혀있었는데, 이렇게 따라만 해도 공부가 되는게 맞을까 혹시나 하는 마음에 따로 질문을 올리게 되었습니다. 따로 국비학원 수료 없이 학교 졸업하자마자 취업했는데 백엔드 스프링을 사용한다해서 선생님 강의 커리큘럼을 따라갈려고합니다. 스프링을 배우는데 자바 기본 지식이 필요하다해서 자바의 정석 유튜브를 먼저 보고, 부족하지만 최대한 자바 기본 문법개념 같은걸 숙지한 상태에서 선생님 영상 시청하고있습니다. 선생님의 이론수업이 정말로 재밌고 스프링 입문하는데 좋은걸 알겠는데 이론설명뒤에 선생님이 치시는 코드가 무엇을 의미 해석이 안되고, 코드형식(?) 코드 구조 (문법?) 이게 정말 와닿지 않는 상태이다보니 ,영상을 보고 타이핑하니깐 공부 하는 느낌이 안들어서 걱정이 됩니다. 프로그래밍 능력, 자바기초실력이 부족해서 이런 느낌을 받는 거 같은데 회사 실무에 도움이 될까 걱정이 됩니다.처음 취직한 회사라서 최대한 적응하고 회사에 도움이 되는 개발자가 되어보고싶은데 어떠한 방식으로 공부를 해야할 지 조언이 가능할까요? (혹시 책이나 강의같은걸 추천해주시면 감사하겠습니다.)

  • java
  • spring
  • mvc
  • spring-boot
신입코딩 댓글 1 좋아요 2 조회수 1260

등록화면에서 new Item() 넣는 이유

미해결

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

@GetMapping("/add") public String addForm(Model model) { model.addAttribute("item", new Item()); return "validation/v1/addForm"; } 저는 item에 빈값을 만드는 이유는 등록화면 처음 들어갈때 input에 item을 빈값으로 두기위해 (안하면 There was an unexpected error (type=Internal Server Error, status=500 이되니까) 만들었다고 생각이 듭니다. 하지만 강의14:08 에서 등록화면에 model.addAttribute("item", new Item()); 빈값을 넘긴 이유 중 하나가 검증에 실패했을 때 item을 재사용할 수 있게 하기 위해서라고 말씀하셨는데 굳이 따지자면 재사용을 할 수 있는 건 이 때 item에 빈값을 넣어줘서가 아니라 @PostMapping의 @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { } @ModelAttribute Item item @ModelAttribute에서 item에 값을 넣어줘서 (물론 위에서 생성된 같은 item이기는 하지만) 그 값이 재사용될 수 있는 거 아닌가요?? 정리하면 우리가 검증이 실패해도 재사용 할 수 있는 건 @GetMapping("/add") public String addForm(Model model) { model.addAttribute("item", new Item()); return "validation/v1/addForm"; } 에서 new Item()때문이 아니라 @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { } @ModelAttribute Item item 때문이 아닌가 라는 생각이 듭니다. 답변해주시면 정말 감사하겠습니다.

  • spring
  • mvc
코딩먹는하마 댓글 1 좋아요 4 조회수 610

인기 태그

인프런 TOP Writers

주간 인기글