묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 부트 - 핵심 원리와 활용
Lombok 생성자
@Data public class Member { private String memberId; private String name; public Member() { } public Member(String memberId, String name) { this.memberId = memberId; this.name = name; } } 기본생성자와 모든필드를 가지는 생성자도 Lombok을 통해서 @NoArgsConstructor @AllArgsConstructor로 어노테이션으로 등록할 수 있는걸로 알고 있는데 @Data만 사용하고 생성자는 어노테이션으로 등록 안하시는 이유가 있을까요?@Data의 경우 @Setter을 포함하기 때문에 조심히 사용해야 된다 하셨는데 이처럼 주의해야 될 점이 있는건지 궁금합니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
404 오류 화면 스프링 부트 제공
@RequestMapping 을 하지 않은 URL을 입력하면 [404 오류 화면 스프링 부트 제공] 화면 만 나오는데 이유가 무엇인가요?좀 더 포괄적인 [4xx 오류 화면 스프링 부트 제공] 이 나오는게 맞지 않나요 ?? 다른 이유 없이 스프링 측에서 저렇게 세팅했기 때문에 나오는 건가요 ?? 200과 300을 보냈을 때는 하얀 공간만 나오는데 2xx,3xx 상태코드들은 실패가 아니기 때문에 그런 것인가요? 맞다면 이 하얀 화면은 HTTP Status 500 – Internal Server Error(error/500.html이 없을 때 나오는 화면) 가 나오는 것처럼 스프링부트가 내부적으로 세팅해놓은 화면인 건가요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티 설계 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의내용을 듣고 엔티티 설계중입니다.상품, 게시판, 문의게시판 등에서 공통으로 사용할 Image엔티티를 만드려고 합니다.이미지 테이블의 FK는 상품,게시판,문의게시판의 PK가 되게 만드려고 합니다.여기서 강의대로 상품,게시판,문의게시판의 PK를 시퀀스로 하게 되면 이미지테이블입장에서 FK가 가르키는게 상품인지, 게시판인지 모르는 문제가 발생합니다. 이럴때 실무에서는 상품,게시판 등의 PK에 prefix값을 넣어주나요? 아니면 시퀀스로 만들고, 이미지테이블에 구분값을 만들어주나요? 아니면 아예 다른 구조로 풀어내는지 궁금합니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MemberRepository 클래스의 findAll 함수 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]findAll() 함수를 설명하실 때 store의 변조를 보호하기 위해 새로운 ArrayList 에 담아서 반환한다고 하셨는데, 이 말이 store.values() 를 그대로 반환하면 CallByReference로 반환되어서 외부에서 List의 값을 변경하면 store의 value도 변경된다는 말씀이신건가요??그리고 새로운 ArrayList 에 담아서 반환해도 store 자체에 접근하면 값이 변경될 수도 있다고 하셨는데, MemberRepository 에서 store는 private로 선언되어있는데 어떻게 store 의 value 를 변경할 수 있는건지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
섹션 1 프로젝트 환경설정 - JPA와 DB 설정, 동작확인 부분 오류
프로젝트 환경설정 섹션에서 JPA와 DB설정, 동작확인 강의에서 오류가 납니다. 위 사진에서 SpringRunner 부분이 노란색으로 안칠해져 있어서 JUnit4가 제대로 설정이 안됐나 싶어서 강의 자료와 똑같이 타이핑 했는데 위 사진처럼 useJUnintPlatform부분이 회색으로 비활성화가 되어있습니다. 이거 때문에 오류가 나는거 인가 싶습니다. 오류 메세지를 확인해보니 JUnit4 추가 부분을 코드에 추가하던 안하던 똑같은 오류가 생기는거 보니까 저 회색이 문제인거 같은데 어떻게 해결해야할지 모르겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
궁금한 점이 생겨 질문 남겨봅니다.
자바 서비스로직의 트랜잭션내에서 오류가 발생하면 롤백이 될건데, 그러한 오류사항을 DB에 어떻게 로그로 남길 수 있는지 알 수 있을까요???
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
dataSource 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]dataSource에러 계속 빨간불이 나오면서 에러가 발생합니다. 처음에는 test.mv.db 문제인줄 알고 h2를 삭제한뒤, 다시 설치했지만 survlet 문제가 계속 됩니다.
-
미해결스프링 핵심 원리 - 기본편
autowired와 접근 제어자에 대해서 질문이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]"수정자 주입을 사용하면, setXxx 메서드를 public으로 열어두어야 한다."라고 하셨는데 객체가 생성되고 autowired 수정자메소드를 실행시키기 때문에... 즉, 외부에서 메소드를 호출하기 때문에 public를 열어두어야 하는 것인가요?위에 내용이 맞다면 autowired를 사용할 때는 전부 public으로 두어야하는게 맞을까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
파라미터를 Map으로 조회
1. @RequestParam은 파라미터 이름으로 바인딩된다고 하셨는데 "파라미터를 Map으로 조회하기"를 보면 "@RequestParam Map<String, Object> paramMap"으로 사용할때는 파라미터 이름으로 바인딩이 안된것같은데 맞을까요?2. 파라미터를 Map으로 조회하려면 위와 같이 하면 된다고 정해져 있다고 보면 될까요?
-
미해결스프링 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와 같다면 서버 내부적으로 어디에 저장돼서 어떻게 확인할 수 있는 건지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@NotBlank 질문입니다
예를 들어 @NotBlankString nickName 이런 경우에nickName :"12 34 56" 이런 닉네임도 안 되는 건가요??아니면 nickName : " " << 이런 경우만 금지하는 건가요??" " 만 금지하는 것인지, 문자열 속에 " "를 금지하는 것인지 궁금합니다 ..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
price에 qq를 넣었을 때 오류 발생과정
@PostMapping("/add") public String addItemV2(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) { if (item.getPrice()==null || item.getPrice() <1000 || item.getPrice() > 1000000){ bindingResult.addError(new FieldError("item","price", item.getPrice(), false, null, null,"가격은 1,000 ~ 1,000,000 까지 허용합니다.")); } }price에 qq를 넣으면 오류가 2개 발생합니다.Field error in object 'item' on field 'price': rejected value [qq]; codes [typeMismatch.item.price,typeMismatch.price,typeMismatch.java.lang.Integer,typeMismatch]; Field error in object 'item' on field 'price': rejected value [null]; codes []; arguments []; default message [가격은 1,000 ~ 1,000,000 까지 허용합니다.]addItemV2()메소드 발생 전 스프링에서 HTTP 전송을 통해 넘어온 itemName 데이터에 의한 FieldError, 그리고 addItemV2()메소드에서 같은 이유로 발생한 FieldError 먼저 스프링 FieldError의 rejectedvalue에는 qq가 들어갑니다.(typeMismatch 오류가 발생하기전부터 알고있던)그 다음 개발자가 직접 작성한 FieldError의 rejectedvalue에는 null 이 들어갑니다.(Integer타입에 String 타입이 들어갔으므로)그 다음 qq, null 중 bindingResult에 먼저 들어간 qq가 출력됩니다. https://www.inflearn.com/questions/309088/bindingerror이 글을 보다 질문 드립니다.위와 같이 이해했는데 맞게 이해한 것 일까요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
findCookie 에서 쿠키가 2개인 경우는 없나요 ?
아이디가 2개이고, 이 2개의 아이디로 모두 로그인을 하면서 쿠키를 발급 받아가지고 클라이언트(브라우저)에 SESSIN_COOKIE_NAME을 이름으로 갖는 쿠키가 2개인 경우는 없나요 ?
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
트랜잭션이 적용되지 않는 메소드에 대해서 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서는 accountTransfer 메소드에 @Transactional을 붙여서 트랜잭션 관리가 되도록 했는 데 만약에 같은 클래스에서 @Transactional이 붙어 있지 않는 메소드에서는 트랜잭션 매니저를 거치는 지, 만약 거치지 않는 다면 어떻게 작동하는 지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@CookietgValue도 객체를 자동으로 생성해주나요 ?
HomeController의 homeLogin메서드의 파라미터 중 memberId에는 @ModelAttribute가 붙지 않았는데LoginController에서 오는 response의 Cookie를 자동으로 어떻게 받는 건가요 ?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인 -필터,인터셉터
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]로그인 -필터,인터셉터부분에서 왜 uuid를 생성하나요?생성하는 이유와 생성하지 않을시 문제를 알려주세요ㅕ
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JSP 회원목록 조회
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]save 까지는 잘 되는데 JSP 회원목록을 조회할때 500에러가 뜹니다.members.jsp 코드입니다bulid.gradle 입니다
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
requestParamV4 메서드 관련 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.requestParamV4@RequestParam의 required 기본값이 true라고 말씀해주셨는데 username을 빼고 보내도 오류가 안나서 질문드립니다.@RequestParam이 직접적으로 명시되어 있지않으면 required false가 기본값인 걸까요?http://localhost:8080/request-param-v4?age=20 요청
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
GetMapping 에서 @ModelAttribute 사용 이유
영상 8:57 에서 @GetMapping("/add") 에서 파라미터로 @ModelAttribute를 받는 이유가 무엇인가요 ? PostMapping이 아니라 GetMapping일 때는 데이터가 넘어오지 않기 때문에 사용할 이유가 없는 것 아닌가요 ??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
인텔리제이 한글 깨짐
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]localhost:8080/hello-static.html에서 한글이 깨져서 출력됩니다.인코딩 관련된 질문에서 달아주신 글 모두 확인 후 전부 변경했는데 해결이 되지 않습니다..