inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

예제에서 사용하는 패키지구조와 실무에서 사용하는 패키지구조

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 패키지 구조에 대해서 문의 드립니다. 무료로 제공되는 Spring Introduction 강의에는 패키지 구조가 controller, domain, repository, service 이렇게 나누어 지는데요. Spring MVC1편, 2편으로 넘어오면서 controller, reposityory, service 패키지는 사라지고 domain, web 패키지 밑에 비지니스 요구사항에 대해서 나온 업무, 예를 들어 item, login, member를 기준으로 서브 패키지를 만들어서 각각 domain, web 패키지의 하부 패키지를 두고 여기서 controller, repository, service에 필요한 내용을 섞어서 집어 넣었습니다. 그리고 MVC 2편 강의로 가니까. web 패키지 밑에 argumentresolver, session 패키지 같이 비지니스 요구사항과 관련된 요구사항이라기 보다. 스프링 기능에 관련된 기능이 web 패키지 밑에 들어왔습니다. 그러다 보니 패키지 구조가 Spring Introduction 강의에서 나누었던 패키지 구조보다 뭐랄까 중구난방으로 섞여있는 느낌이 듭니다. 질문] 실무에서도 MVC 2편강의에 분리된 형태로 많이 하는지 아니면 Spring Introduction에서 제시한 controller, domain, repository, service 패키지를 기준으로 새로운 패키지가 추가 또는 세분화 되는지 궁금합니다. 그럼 답변 부탁드립니다. 감사합니다.

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

Hello 서블릿 에러

미해결

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

hello 서블릿 생성 후 웹페이지가 구현이 안되네요 어떻게 해야 하나요?

  • spring
  • mvc
Soo Lee 댓글 1 좋아요 0 조회수 327

질문드립니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 컨트롤러에서 String 을 리턴하면 경로잖아요 근데 그게 static에 있는 정적 리소스인지 templates에 있는 동적리소스인지도 구분가능한가요? 아니면 무조건 동적으로 가는건가요?

  • spring
  • mvc
정중한 개구리 댓글 1 좋아요 0 조회수 288

라이브러리 살펴보기 3:45 질문

미해결

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

저는 왜 강사님처럼 오른쪽 창에 gradle이랑 database가 안보이는 걸까요?

  • java
  • spring
  • mvc
  • spring-boot
정수민 댓글 1 좋아요 0 조회수 253

일대다 관계에서의 값타입 질문입니다.

미해결

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

@OneToMany @JoinColumn(name = "MEMBER_ID") private Order order; @OneToMany @JoinColumn(name = "MEMBER_ID") private List<Order> orders; 두개가 무슨 차이가 있는지 궁금합니다. 일대다 관계라면 컬렉션을 안써도 되지 않나요?

  • java
  • jpa
댓글 1 좋아요 0 조회수 534

템플릿엔진이 없을경우 뷰리졸버는 작동을 못하나요??

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 처음에 타임리프 의존성 추가 없이 해서 계속 페이지가 없다고 404오류가 나왔습니다. 다른분이 타임리프 없이 할 경우 어떻게 해야하는지 질문주신것에 restapi방식을 많이 사용한다고 답해주신것은 보았는데 템플릿엔진이 없으면 아예 뷰리졸버가 동작하지 않는 것인지 궁금합니다. application.properties 파일에 spring.mvc.view.prefix=/resources/templates/ spring.mvc.view.suffix=.html 이 코드도 추가해보고, static, templates 폴더에 모두 보여주고싶은 html파일도 넣어보았는데 controller는 동작하고 뷰가 없다고 합니다 감사합니다 :)

  • java
  • spring
  • mvc
  • spring-boot
쩜현 댓글 1 좋아요 0 조회수 800

Integer 타입 질문입니다

미해결

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

public static void main(String[] args) { Integer a = Integer.valueOf(10); Integer b = a; a = 20; System.out.println("a = " + a); System.out.println("b = " + b); } =======출력값 ======== a = 20 b = 10 이렇게 하면 값이 변경되는데 PPT에서 변경X라는 말이 무슨 말일까요 ?

  • java
  • jpa
댓글 1 좋아요 0 조회수 700

즉시로딩과 지연로딩의 성능 차이에 대해 궁금합니다.

미해결

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

Member와 Team을 예로 생각했을 때 즉시로딩 -> Member만 필요해도 Team과 쿼리문이 같이 나감 지연로딩 -> Member만 불러오고, Team은 프록시 객체로 불러와서, Team이 필요할 때 영속성 컨텍스트에 연결을 요청하고 요청 쿼리문이 나가는 것이 맞나요 ? Member.getTeam().getName()을 1번 수행한다고 했을 때 즉시로딩 (Member + Team 쿼리문 같이)의 성능이 지연로딩 ( Member 쿼리문 따로, Team 쿼리문 따로)보다는 좋지만 강의에서 나온 여러가지 문제로 웬만해서는 지연로딩을 사용하는 것이 더 좋다. 이것이 맞나요?

  • java
  • jpa
댓글 1 좋아요 0 조회수 416

gradle build후 dir에서 jar파일이 안보여요..!

미해결

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

gradle build는 됐는데, 그 뒤에 dir에서 snapshot.jar파일이 안보입니다. 이건 왜그럴까요..?ㅠㅠ?

  • java
  • spring
  • mvc
  • spring-boot
jeeyoon lim 댓글 1 좋아요 0 조회수 604

required 질문이요

미해결

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

String[] messageCodes = codesResolver.resolveMessageCodes("required", "item"); 안녕하세요 이 코드에서 errorCode의 required는 errors.properties에 있는 required인가요?

  • spring
  • mvc
자바마스터하자 댓글 1 좋아요 0 조회수 573

@Controller와 생성자에 @Autowired 중복할필요있나요?

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 클래스에 컨트롤러 붙여주면 스프링빈에 자동등록되서 생성자에 Autowired 붙여줄필요없는거 아닌가요?

  • spring
  • mvc
정중한 개구리 댓글 1 좋아요 0 조회수 475

DTO 사용범위

미해결

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

안녕하세요. 아직 강의를 듣는중이지만, 여러가지 찾아보다가 궁금증이 생겨 질문 남겨봅니다. 궁금한 것은 DTO의 사용범위(세분화 정도)와 Request 파라미터 Null 체크입니다. DTO는 클라이언트-서버 사이의 요청/응답 데이터를 전송하는 객체라고 이해했습니다. 다른 기능을 하는 aController, bController내 API가 있고 회원 정보를 담고있는 MemberDTO가 있다고 상황을 가정했습니다. MemberDTO에는 name, email, number, sequence 파라미터 등등이 담겨 있고 sequence 파라미터에는 @NotNull 애노테이션이 붙어있습니다. 이때, DTO 에서 @NotNull 등을 설정 후 사용하고자 하는 aController 내 API에서는 @NotNull 애노테이션이 적용된 sequence를 response값에 넣어주고 싶지만, bController에서는 MemberDTO 객체 중 sequence만 제외한 response가 필요하면 이때 bController에 맞는 DTO 객체를 하나 생성해 주는 게 더 옳은 것일까요? 이런 경우 실무에서 어떻게 해결하는 지 궁금합니다! 생각을 해봤을 때, 기능을 달리하는 Controller 내 API마다 DTO 객체 생성 하나의 DTO 객체에 각 기능 별로 보내도 되지 않는 파라미터는 제거 (2번이 그렇다면 방법이 궁금합니다. 찾아보면 좋은 키워드를 알려주셔도 감사하겠습니다. 질문이 두서없을 수 있지만 답변 주시면 감사하겠습니다. 제가 이해를 잘못하고 있는 부분이나 영한 님의 강의 중 관련 내용이 있는 파트가 있다면 알려주시면 감사하겠습니다.

  • java
  • spring
  • mvc
  • spring-boot
DUB 댓글 1 좋아요 0 조회수 663

MemberServiceTest 중 질문

미해결

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

1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 ------------------------------------------------------- [질문 내용] 스프링 입문 강의 > 섹션3 > 회원 서비스 테스트 > 11:45 지점 회원가입() 메서드 내에 member 객체의 이름을 spring으로 바꾸면, 중복_회원_예외() 메서드에서 join한 member1 객체와 충돌하여 에러가 난다고 설명해주셨습니다 . -> 질문 : 중복_회원_예외() 내부에서는 member1와 member2의 이름이 같기 때문에, 예외가 발생하며 member2가 가입되지 않았습니다. 그런데 왜 그 후에 회원가입() 메서드에서 member1과 이름이 같은 member가 join할 때는 위와 같이 실행되지 않고, 런타임에러가 발생하는걸까요 ?? ( 이 때도 마찬가지로 join() 내부에 있는 validateDuplicateMember()가 실행되어서 member는 가입되지 않고, 정상적으로 종료할 것이라고 예상했는데, 왜 이렇게 되는지 궁금합니다 ..!! )

  • java
  • spring
  • mvc
  • spring-boot
ghkwls1999 댓글 2 좋아요 0 조회수 617

안녕하세요 강의를 듣고 따라하다가 등록일부분과 수정일부분에서 데이터가 갑자기 조회가 안되는 현상이 발생해서 질문드립니다 .

미해결

스프링 부트 웹 개발 입문 - 따라하며 배우기

다른부분은 이상이없는데 무었이 잘못일까요? 구글드라이브 링크 남겨드립니다 : https://drive.google.com/file/d/1ZxdPrRNo-zlr_IkRXwidukMYrpDr8Af5/view?usp=share_link

  • spring
  • mvc
  • spring-boot
성문 댓글 1 좋아요 0 조회수 573

상품 등록

미해결

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

<BookForm> @Getter @Setter public class BookForm { private Long id; private String name; private int price; private int stockQuantity; private String author; private String isbn; } <Controller> @PostMapping("/items/new") public String create(BookForm form){ Book book = new Book(); book.setName(form.getName()); book.setPrice(form.getPrice()); book.setStockQuantity(form.getStockQuantity()); book.setAuthor(form.getAuthor()); book.setIsbn(form.getIsbn()); itemService.saveItem(book); return "redirect:/"; } <Service> @Service @RequiredArgsConstructor @Transactional(readOnly = true) public class ItemService { private final ItemRepository itemRepository; public void saveItem(Item item){ itemRepository.save(item); } public Item findOne(Long itemId){ return itemRepository.findOne(itemId); } public List<Item> findAll(){ return itemRepository.findAll(); } } <Repository> @Repository @RequiredArgsConstructor @Slf4j public class ItemRepository { private final EntityManager em; public void save(Item item){ if(item.getId() == null){ log.info("item={}", item); em.persist(item); //신규등록 }else{ em.merge(item); } } public Item findOne(Long id){ return em.find(Item.class, id); } public List<Item> findAll(){ return em.createQuery("select i from Item i", Item.class) .getResultList(); } } <Log> 2023-04-21 15:08:16.380 INFO 7536 --- [nio-8080-exec-2] j.jpashop2.repository.ItemRepository : item=Book(author=qwe, isbn=1234) <Test> 로그에 찍히는거 보면 값이 다 전달이 되고 테스트 코드에서도 성공으로 떠서 저장이 되야 될거 같은데 h2 db에 가면 값이 저장이 안되어 있네요 아예 디비랑 연동이 안되나 싶었는데 멤버는 정상적으로 회원가입이 되는데 아이템만 저장이 안되네요 뭐가 문제일까요... ddl-auto 는 create로 되어있구요 h2 db 버전은 1.4.2 입니다

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
댓글 1 좋아요 1 조회수 688

특정 컨트롤러에서만 발생하는 예외를 별도로 처리하는법

미해결

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

수업 자료에서 " 특정 컨트롤러에서만 발생하는 예외를 별도로 처리하기 어렵다. 예를 들어서 회원을 처리하는 컨트롤러에서 발생하는 RuntimeException 예외와 상품을 관리하는 컨트롤러에서 발생하는 동일한 RuntimeException 예외를 서로 다른 방식으로 처리하고 싶다면 어떻게 해야할까? " 라는 말이 있었습니다. 그렇다면 실무에서는 위에 문제를 @ControllerAdvice를 이용하여 해결한다고 이해하면 될까요??

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

다양한 ViewResolver를 사용하고 싶을 경우

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 다양한 ViewResolver를 사용하고 싶을 경우 어떻게 하는지 궁금해서 질문을 올립니다. 예를 들어서 위 코드가 있고, 클라이언트에 요청이 들어오면 DispatcherServlet은 Adapter에게 받은 ModelAndView를 받습니다. InternalResourceViewResolver는 ModelAndView를 application.properties의 정보를 사용해서 View를 생성합니다. View를 render합니다. 서버는 위와 같은 순서로 진행된다고 생각합니다. 그런데 만약 ThymeleafViewResolver도 등록해서, 어떤 요청은 jsp로 하고 어떤 요청은 thymeleaf로 동작하게 하려면 어떻게 해야할까요? "new-form" 이란 논리적인 View Name을 유연하게 물리적인 View Path로 변경하는 방법이 궁금합니다. 혹시 이렇게 사용하는 상황이 없기 때문에 지원하지 않는 것일까요??

  • spring
  • mvc
황규철 댓글 1 좋아요 0 조회수 596

백엔드 개발자로서 프론트에 대해서 질문

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 리액트는 선택이고 타임리프는 알아야 한다고 하셨는데 제가 알기로는 요즘에는 REST 방식으로 JSON 형태로 주고 받고 요즘 자주 쓰는 React 같은 경우는 서버를 아예 따로 띄어주고 JSON으로 데이터만 주고 받고 하는데 타임리프를 꼭 자세히 알아야 하나요? 여기서 말하는 자세히란 지금 현재 타임리프 문법은 대략적으로 알 고 있고 타임리프로 프론트가 작성되어 있는거 보면 알 수 있을 정도는 되는데 프론트를 혼자서 만들 정도는 안됩니다. (그게 맞지 않아서 백엔드를 선택했는데...) 프로젝트 만드는데 타임리프로도 만들어야 할 정도로 알아야 하는지 궁금합니다. 현재 계획으로는 리액트하고 백엔드하고 나눠서 따로 서버 배포하고 백엔드는 REST 방식으로만 진행해서 MVC에서 View를 빼서 나누려고 하는데 타임리프로 알아야 한다면 이것도 프로젝트로 만들어야할지 고민이되서 질문드립니다.

  • spring
  • mvc
유요한 댓글 2 좋아요 1 조회수 1274

윈도우 빌드 오류

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 인텔리제이 터미널에서 gradlew.bat build를 치니 오류가 뜹니다. 해결방법 알 수 있을까요?

  • java
  • spring
  • mvc
  • spring-boot
ghwjd9269 댓글 1 좋아요 0 조회수 1394

Item - OrderItem 관계 및 양방향관계?

미해결

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

ORDERS와 ORDER_ITEM의 관계는 하나의 주문 안에, 주문된 여러가지 아이템(book,album,movie등)이 있을 수 있기 때문에 1:N인 것 이 맞나요 ? OrderItem과 Item의 관계가 잘 이해 가지 않아서 찾아보다가 https://www.inflearn.com/course/lecture?courseSlug=ORM-JPA-Basic&unitId=21699&category=questionDetail&tab=community&q=805804 이 답변을 보고 헷갈리는 부분이 있는데요. Book을 n번 주문할 수 있기 때문에 1:N이라고 하셨는데 이 말은 즉, Book이라는 아이템 안에서도 주문된 여러가지 책(일본 책, 독일 책, 한국책) 이 있을 수 있기 때문에 1:N이라는 말일까요? 어떤 Member가 어떤 주문을 했는지 Order를 참고하는 것과 어떤 Order가 무엇을 구매했는지 Order_Item을 참고하는 것이 같은 맥락이라고 생각하는데 전자는 잘못된 설계고 후자는 괜찮은 설계인 이유는 무엇일까요?

  • java
  • jpa
댓글 1 좋아요 1 조회수 957

인기 태그

인프런 TOP Writers

주간 인기글