inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

ReturnValueHandler

미해결

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

안녕하세요 영한님 강의를 듣던 도중 궁금한것이 생겨 질문드립니다. 강의 노트 179페이지에 보면 "String으로 뷰 이름을 반환해도, 동작하는 이유가 바로 ReturnValueHandler 덕분이다." 라고 나와있는데 String으로 뷰이름을 반환해도 동작하는 이유는 ViewResolver 때문이 아닌가요? ReturnValueHandler 안에 ViewResolver 가 포함되는것인가요? 좋은 강의 너무 감사드립닌다. 답변기다리겠습니다.

  • MVC
  • spring
fightnyy 댓글 1 좋아요 0 조회수 344

탈락되면 어떻게 되나요?

미해결

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

마지막에 들어주신 예시 content type : text/html @RequestBody HelloData data 의 경우는 3개의 컨버터를 모두 지나쳐서 탈락하게 된다고 하셨는데요. 그러면 어떻게 되나요? 객체일 때는 null이 넘어오고 primitive 타입일 때는 기본값이 넘어오는 건가요?

  • MVC
  • spring
akakakakak 댓글 1 좋아요 7 조회수 436

LOB를 위한 @OneToOne 혹은 @Basic

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요. 기본적으로 게시판을 만들 경우 LOB를 사용하게 됩니다. 그럼 Lazy를 사용하게 되는데 경험상 어떤 구조가 좋은지 알고 싶습니다. 지금까지는 @ElementCollection을 만들어서 Unique를 주어서 one to one 처럼사용을 하였습니다. 자구 눈에 거슬려서 리팩토링을 하고 싶은데 하나의 테이블에서 @Basic를 사용하는 것이 좋은지 아니면 서브 테이블을 만들고 @OneToOne 관계를 사용하는것이 좋은지 노하우를 공유하고 싶습니다. @OneToOne에서는 단방향을 사용하고 싶고 서브 테이블의 PK 컬럼은 PK이면서 FK로 설정하고 싶습니다. (즉, 메인 테이블의 PK값을 사용) 그럼, 수고하세요.

  • @OneToOne
  • java
  • @Basic
  • 웹앱
  • JPA
  • spring
  • spring-boot
growth 댓글 1 좋아요 3 조회수 625

응용문제4) DFS 응용문제 질문이요!

미해결

코딩테스트 전 꼭 알아야 할 개념과 문제(with 자바)

응용문제4) DFS 응용문제 영상중에 6:22 여기부분에 int len = 1+dfs(matrix,x,y,m,n,result); 여기서 앞에 1을 더해주는건 어떤것때문에 더해줘야 하나요?

  • 응용문제4)DFS응용문제
  • java
  • 코테 준비 같이 해요!
댓글 1 좋아요 1 조회수 177

JPA 연관관계 질문드립니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요. JPA 강의를 듣고 연관관계부분 실습해보다 질문드립니다. 다대다 관계는 실무에서 사용하지 않는게 좋다고 하셔서 직접 중간테이블을 만들고 카테고리테이블, 카테고리_아이템 테이블, 아이템 테이블을 만들어 아래와 같이 구현해보려 했습니다. 간단히 엔티티 코드를 요약해보았습니다. 카테고리를 눌렀을 때 해당 카테고리에 Item 리스트를 불러오고 각각의 Item들에서도 카테고리 정보를 노출하고싶은데 어떻게 해야 할지 감이 잡히질 않습니다. categoryItem의 Repository에서 쿼리문으로 조인하여 가져오는것은 매우 복잡할것같고 Item이나 Category의 엔티티 안에 메서드를 만들어서 가져와보려했는데 제 기본기가 부족해서 그런지 도저히 방법이 떠오르질 않네요. 어떤식으로 구현을 해야좋을지 대략적인 흐름을 간단히 조언해주시면 감사하겠습니다.

  • jpa
  • 중간테이블
  • JPA
  • spring-boot
  • java
  • spring
  • 웹앱
Gogori 댓글 1 좋아요 0 조회수 531

view를 사용하지 않는다?

미해결

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

안녕하세요 강사님, 질문 드리겠습니다. HttpEntity나 @ResponseBody를 통해 응답 처리를 할 때는 view를 사용하지 않는다는 말이 이해가 잘 안 되는데요. 이전처럼 view의 논리적 이름을 반환한 후 렌더링 해주는 식의 처리를 하는 것이 아니라, 그냥 http body에 필요한 데이터만 담아서 전달해주고 뷰에 대한 부분은 클라이언트 측에서 알아서 하도록 일임한다는 식의 흐름이 맞나요?? 위 내용이 맞다면 여기에서 뷰 리졸버는 아예 사용되지 않는 것인가요? 감사합니다.

  • MVC
  • spring
akakakakak 댓글 1 좋아요 2 조회수 347

HTTP PUT, PATCH

해결됨

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

안녕하세요! 좋은 강의 정말 잘 듣고있습니다 감사합니다! 다름이 아니라, 며칠 전 영한님이 찍으신 HTTP 강의를 들었습니다 해당 강의에서 PUT 과 PATCH 사용의 차이점에 대해서도 설명해 주셨는데 결론적으로 Member 리소스의 이름만 변경하는 현재 로직상 PUT 요청보다 PATCH 요청이 HTTP 스팩을 잘 맞춘(?) 설계라고 생각되는데 맞을까요? 또 저는 이렇게 스팩을 정확하게 맞춘 경우에는 (엔티티 데이터 수정시 변경감지를 사용하는 것이 권장되지만) 수정을 할 때 PUT 요청으로 수정이 오는경우, detached 된 엔티티 데이터를 수정하고 merge를 사용하여 업데이트를 하는 방법도 고려할 수 있겠다고 생각했습니다. 그리고 동시에 또 스팩에 너무 발이 묶이는 것도 결국은 비효율적이라는 생각도 들면서 머리가 복잡해지네요 결론적으로, 실무에서는 PUT 과 PATCH 를 HTTP 스팩에 정확히 맞추어 사용하기 보다, PUT으로 통일하여 사용함으로써 개발의 효율을 높이는 경우가 많을까요? 구글링을 하다보니 그런 글들을 본 기억이 있는것 같은데 영한님의 생각도 궁금하네요! 다시 한번 좋은 강의 감사합니다! :)

  • spring-boot
  • JPA
  • spring
  • java
jaden 댓글 1 좋아요 0 조회수 796

template, webapp

미해결

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

안녕하세요 강사님, 말씀하셨던대로 이번 강의에서 대부분의 의문이 해결되었습니다. 그런데 이번 강의에서도 뷰 파일의 저장 위치가(template or webapp) 달라지는 부분에 대해서는 별다른 언급이 없더라구요. 이 부분도 뒷부분을 듣다보면 알게 되나요??

  • MVC
  • spring
akakakakak 댓글 2 좋아요 12 조회수 384

MemberRepositoryImpl

해결됨

실전! Querydsl

좋은강의 감사드립니다! 처음으로 DB 를 사용함에 있어서 흥미를 가지게 되었네요!! 다름이 아니라 궁금한 점이 생겼는데 스프링 컨테이너가 MemberRepositoryImpl 을 사용하게 되는 것 같은데 컨테이너에 어떻게 해당 클래스가 빈으로 등록되는지 감이 잘 오지 않습니다. ㅠㅠ ****RepositryImpl 이라는 규약을 두고 해당 클래스를 빈으로 등록시켜주는 매커니즘일까요??

  • JPA
  • java
jaden 댓글 1 좋아요 0 조회수 282

콘솔창 색깔 바꾸는 방법

미해결

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

콘솔창 글씨가 다 흰색이니까 구분이 잘안가서 강사님처럼 바꾸고 싶어서 찾아봤습니다 프로젝트에 application.properties 파일을 사용하시면 이렇게 입력해주시고 서버를 재시작하면 적용됩니다 복붙-> spring.output.ansi.enabled=ALWAYS 프로젝트에 application.yml 파일을 사용하시면 (yml 파일은 띄어쓰기 주의) 이렇게 입력해주시고 서버를 재시작하면 이렇게 글자색이 바뀐채로 출력됩니다 프로젝트마다 application 파일에 코드 복붙하는게 귀찮을거 같아서 찾아본 결과 VM Options에서 -Dspring.output.ansi.enabled=ALWAYS 를 추가해주면 인텔리제이를 실행 했을 때 전체 프로젝트에 적용이 된다고 하는데 전 아무리 해도 적용이 안돼서 포기했습니다 혹시 전체 프로젝트에 적용하는 방법을 아시는분이 계시면 댓글로 알려주시면 감사하겠습니다

  • MVC
  • spring
ialsghi123 댓글 1 좋아요 1 조회수 2614

영한센세 members를 가져오는 과정에 대해서 질문이 있습니다!!!

미해결

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

제가 이해한 바로는 Team team = new Team() ; team.setName( "TeamA" ) ; entityManager.persist(team) ; Member member = new Member() ; member.setUsername( "member1" ) ; member.setTeam(team) ; entityManager.persist(member) ; // team.getMembers().add(member); // entityManager.flush(); // entityManager.clear(); Team findTeam = entityManager.find(Team. class, team.getId()) ; List<Member> members = findTeam.getMembers() ; for (Member m : members) { System. out .println( "member = " + m.getUsername()) ; } (위의 코드는 강의에서 작성해주셨던 코드와 동일합니다) 제가 이해한 바로는 "flush, clear를 하지 않음으로써 그 상태의 영속성 컨텍스트에 등록된 Team과 Member 기준으로 members의 값을 가져오기 때문에 System. out .println( "member = " + m.getUsername()) ; 위 코드에 대한 출력이 되지 않는것으로 이해했습니다 ㅠㅠ!" 제가 이해한 바가 맞을까요 센세...? 이게 만약 맞다면 "추가적으로 " flush 와 clear를 하는 과정에서 "원래 commit 시점에 쿼리가 발생하여 1차 캐시 혹은 DB에 값을 적재하는것이 정상이지만 flush 를 사용하는 시점에 해당과정을 즉시 실행하여 데이터를 적재시키고 다음으로 clear를 함으로써 비영속상태로 만들어 getMembers(); 시에 JOIN쿼리를 발생시켜 members와 관련된 데이터를 반영시킨다고 이해하였습니다." 마지막으로 "getMembers를 하는 과정에서 Member들을 가져오는 join 쿼리를 날리는 과정은 무조건 비영속 상태이어야만 하는지가 궁금합니다." 질문이 많았죠 센세... 항상 넘나 재밌게 잘 보고 있습니다~!!! JPA를 실무에서 사용한적이 없어서... 이런저런 궁금한점이 참 많습니당... 항상 감사합니다!!!!!

  • java
  • JPA
JuNu 댓글 1 좋아요 1 조회수 285

기본 키 매핑 방법

미해결

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

자동 생성(@GeneratedValue)에서 DB를 ORACLE로 사용시 SEQUENCE로 안하고 AUTO로하면 방언에 따라 기본값이 자동 지정 되긴하는데 그럴경우 SEQUENCE 생성시 의미없는? 이름이 생성돼 DB 운영/관리 측면에서는 관리가 어려워 잘 사용하지 않을 것 같은데 어떤 경우에 사용하는지요? AUTO로하면 DB에 종속적이지 않은 장점이 있으나 일반적으로 운영하는 DB에 맞춰서 예를 들어 ORACLE일 경우 미리 스크립트로 MEMBER_SEQ를 생성하고 @SequenceGenerator로 맵핑해서 개발될것 같은데 맞을지요?

  • JPA
  • java
궁그미 댓글 1 좋아요 0 조회수 257

하나의 Repository에서 2개 이상의 서로 다른 유형의 엔터티를 반환해도 되나요?

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요. 좋은 강의 덕분에 업무에 많은 도움이 되고 있습니다. 감사합니다. ^^ 다름이아니라, 강의 예제에 나온 repository에서는 보통 한 종류의 엔터티를 반환하는데요. 예를 들면 OrderRepository 에서는 반환값이 Order, List<Order> ItemRepository에서는 Item, List<Item>을 반환합니다. 하지만 OrderRepository에서 Item, List<Item>을 반환하는 경우는 없더군요. 그런데 여러 테이블간에 조인을 거쳐 최종 조회되는 엔터티가 해당 Repository의 엔터티가 아닌 경우, 이럴 때는 어떻게 하는 게 좋을까요? 예를 들면 엔터티 간의 관계가 아래와 같을 때 Order : OrderItem = 1 : N Item : OrderItem = 1 : N Item : ItemCategory = 1 : N Category : ItemCategory = 1 : N Order Id = 100인 Item의 List<Category>를 조회하고자 하는 경우 OrderRepository에서 각 엔터티들의 조인을 거쳐 List<Category>를 반환하는 게 좋을까요? 아니면 각각의 Repository에서 필요한 엔터티를 반환받아 최종적으로 List<Category>를 찾는 것이 좋은가요? 아니면 제 3의 별도의 Repository를 만드는 것이 좋을까요? 여러개의 테이블을 조인하여 한 번의 쿼리로 데이터를 조회하는 것이 더 성능상 이점이 있을 것 같은데요 반면 Repository에서 서로 다른 유형의 엔터티를 반환해도 유지보수에 문제가 없을지 걱정이 듭니다. 김영한님의 조언 부탁드립니다.

  • repository
  • entity
  • 웹앱
  • JPA
  • spring
  • java
  • spring-boot
신이만든지기 댓글 1 좋아요 0 조회수 2176

Json 매핑

미해결

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

Json 객체 매핑 시 setter가 없어도 되는데 http 요청 데이터 - API 메시지 바디 - JSON에서는 setter가 있어야 한다고 하셨는데 어떤게 맞는 걸까요?

  • spring
  • MVC
lbd4946@gmail.com 댓글 1 좋아요 0 조회수 335

PrintWriter writer = response.getWriter();

미해결

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

이 코드가, response 객체 안에 Writer를 담당하는 객체가 또 있고 그 객체를 writer라는 변수로 따로 저장해서 writer를 이용하는 방식인가요? 생소한 패턴이라서 헷갈리네요.. 혹시 response 객체가 어떻게 구성돼 있는지 확인할 수 있는 방법이 있을까요?

  • spring
  • MVC
탈룰라 댓글 1 좋아요 1 조회수 1300

서버가 계속해서 작동되지않습니다

미해결

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

위에 사진과 같이 톰캣서버가 계속해서 작동을하여야하는데 종료가되는거같습니다 ㅠㅠ 해결방법이있을까요?

  • spring
  • MVC
이성호 댓글 3 좋아요 8 조회수 2648

정적 팩토리 메서드 작성

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

@Entity @DiscriminatorValue("B") @Getter @Setter public class Book extends Item { private String author; private String isbn; public static Book createBook(String name, int price, int stockQuantity, String author, String isbn) { Book book = new Book(); book.setName(name); book.setPrice(price); book.setStockQuantity(stockQuantity); book.setAuthor(author); book.setIsbn(isbn); return book; } } setter들을 최대한 줄이고자 위와 같이 정적 팩토리 메서드를 작성했습니다. 그런데 결국 Book 객체를 만들기 위해선 createBook안에 setter가 필요하게 되더라구요 그래서 setter을 닫으면서 정적 팩토리 메서드를 작성하기 위한 두가지 방법이 생각났는데요 첫 번째는 생성자를 protected으로 만들어놓고 정적 팩토리 메서드에서 setter가 아닌 생성자로 객체를 생성하는 방법이고 두 번째로 setter의 접근 권한을 private으로 설정하여 정적 팩토리 메서드 안에서만 setter을 사용하도록 허가하는 방법입니다. 두 방법 중에 무엇이 더 사용하기 적합한지, 아니면 그 외에 다른 방법엔 어떤 것이 있는지 궁금합니다. /// 추가 강의를 진행하다보니 두 방법 모두 setter의 부재로 변경 감지 방법을 사용하지 못한다는 문제점이 있는 것 같습니다.. 변경 감지 강의에서의 영한님 말씀처럼 setter 대신에 비즈니스 메서드를 만들어서 변경 감지 등의 로직에서 사용하고, 정적 팩토리 메서드에서는 첫 번째 방법처럼 생성자로 객체를 생성하는 방법을 사용하려고 하는데 옳은 방법일까요?

  • JPA
  • spring-boot
  • spring
  • java
  • 웹앱
Young.K 댓글 1 좋아요 4 조회수 456

static root 실제 저장 위치

해결됨

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

안녕하세요. start.spring.io 를 통해 생성한 프로젝트에는 resources/static 폴더가 존재하는데, 강의에서는 따로 webapp 폴더를 만들어 그곳에 html 파일을 담는데요. resources/static/index.html과 webapp/index.html 을 2 개 모두 만들어 두고, URL=/ 로 접근해 보면 후자가 뜨는 것은 테스트를 통해 확인할 수 있었습니다. webapp/index.html 이 없으면 URL=/ 에 대응해 전자의 페이지가 뜹니다. 즉, webapp이 더 우선하는 것으로 생각됩니다. 질문은 : resources/static 영역이 있는데 강의에서는 왜 굳이 이와 같이 webapp을 따로 만들어 그곳에 html 파일들을 구성하신 것인지요? 감사합니다.

  • static
  • webapp
  • MVC
  • spring
최성규 댓글 2 좋아요 0 조회수 317

new-form.jsp 요청시 jsp파일 자체가 다운로드 되어버립니다

미해결

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

이 전까지의 강의는 아무런 문제가 없다가 이번 편에서 아래처럼 URL을 요청했더니 /jsp/members/save.jsp 화면으로 넘어가지 않고 스크린샷 하단에 보시다시피 jsp파일 자체가 다운로드되어버립니다.. 구글링을 해봤는데도 마땅히 해결방법을 모르겠어서 질문남깁니다. 혹시 해결책을 아신다면 답변 부탁드리겠습니다

  • MVC
  • spring
장재영 댓글 15 좋아요 0 조회수 3872

유저 정보 입력 컨트롤러 로직의 Http Status Code 제어에 대해 질문

미해결

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

@PostMapping("/users") public ResponseEntity<User> createUser(@RequestBody User user) { User savedUser = service.save(user); URI location = ServletUriComponentsBuilder.fromCurrentRequest() .path("/{id}") .buildAndExpand(savedUser.getId()) .toUri(); return ResponseEntity.created(location).build(); } 에서 URI 객체 location을 이용해 return 값을 아래와 같이 설정하는데요 return ResponseEntity.created(location).build() 질문1 uri를 만들때 사용한 ServletUriComponentsBuilder 클래스는 무슨 클래스인지 URI location 객체는 url 주소를 말하는게 맞나여? 질문2 ResponseEntity는 무슨 객체인지 뭘 created하는 건지 location인자는 왜 넘기는건지 뭘 build 해서 리턴하는건지 잘이해가 안가요 좀더 자세하게 설명해주시면 감사여 질문3 그리고 response body에 success: true 같은걸 응답하도록 하는게 맞지 않나여? 그러려면 어떻게 해야 되나여? 질문4 그리고 user 한명 입력인데 url을 왜 /users로 하신건가요? 질문5 그리고 dao 계층과 서비스 계층을 분리할수도 있는거죠?

  • restful
  • java
  • spring-boot
  • rest-api
terecal 댓글 2 좋아요 0 조회수 1703

인기 태그

인프런 TOP Writers

주간 인기글