inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

REST API 방식으로 이미지를 보여주는 방법

미해결

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

저장을 하는것은 구현을 하였는데, 사용자가 상품 이미지를 보고싶어 하면, 프론트엔드에서 먼저 서버에, 원하는 상품의 id 값으로 요청을 하면, 서버는 그 상품이 서버에 저장된 이름을 반환해주고, 프론트엔드에서 그 이미지를 가지고, 서버에 저장되어 있는 이미지를 보여주는 방식을 사용하면 될까요..?

  • MVC
  • spring
신동훈 댓글 1 좋아요 0 조회수 1363

hello-mvc?name 값으로 hello null 만 나옵니다.

미해결

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

required request parameter 'name' for method parameter type string is not present 라는 오류가 떠서 구글링 해본 결과 required = false 를 넣어주면 된다고 하여 value = "name", required = false 이렇게 수정해주었는데 쿼리값을 넣었을때 null 로 나옵니다

  • spring
  • java
  • query
  • spring-boot
  • java
  • spring
  • MVC
af1505 댓글 1 좋아요 0 조회수 305

@ControllerAdvice 사용 시 메시지와, 국제화 사용 방법

미해결

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

@ControllerAdivce를 사용할 때, 사용자 정의 에러를 ENUM으로 만들고, message라는 값을 가지게 했습니다. @ControllerAdivce가 붙은 컨트롤러에서는 MessageSource를 Autowired 하였고, 각각의 @exceptionHandler가 붙은 메소드에 대해, Locale을 매개변수로 받아왔습니다. 그리고 오류가 발생하였을 때 Enum의 message 값에 해당하는 메시지 소스를 읽어와서, locale을 넣어 국제화를 시켜보았는데요. @ControllerAdivce 에서 MessageSource를 Autowired 하고, Locale을 마음대로 가져와서 사용해도 문제가 없나요?

  • MVC
  • spring
신동훈 댓글 1 좋아요 0 조회수 782

컴포넌트 스캔관련 질문드립니다 ㅎㅎ

미해결

스프링 핵심 원리 - 기본편

안녕하세요~~ 강의 잘 보고있습니다. 최고의 강사!! 궁금증이 생겨서 질문 드립니다 ㅎㅎ @SpringBootApplication이 붙은 CoreApplication을 통해 동작하면 ComponentScan을 하는데 AppConfig와 AutoAppConfig의 @Configuration이 붙어있잖아요,, @Configuration을 따라 들어가니까 @Component가 있어서 아 그럼 얘도 컴포넌트 스캔 대상이구나 라고 생각했어요. 그래서 여기서 더 나아가서 생각해보니까 복잡해졌는데요,,, AppConfig와 AutoAppConfig 둘 중 컨테이너에 등록하는 순서가 있나요??? 왜이런 질문이 나왔냐면,,, 강의내용 코딩따라했을 때 코드 기준으로 AppConfig는 excludeFilters가 없고 AutoAppConfig에는 excludeFilters로 @Configuration 애노테이션 등록된것을 제외하였는데 먼저 등록하는 순서라는게 존재한다면 순서에 따라 먼가 다를것 같습니다... AppConfig먼저 1. AppConfig의 빈등록절차 진행 2. AutoAppConfig의 빈등록절차를 진행하려고 보니까 @Configuration이 붙은애들을 제외 시켰네? 이미 @Configuration이 붙은 AppConfig빈등록 다 해놨는데 어쩌지 가 될 것 같아서요,,,, AutoAppConfig먼저 1. AutoAppConfig의 exclude로 Configuration했으니 "@Configuration붙은애들 진행시키지마" 가 되겠고 2. 컴포넌트 스캔으로 @Component붙은것들(@Repository, @Controller, @Component 등) 빈등록진행, AutoAppConfig에 @Bean이 붙은 애들 빈등록 3. AppConfig 빈등록 제외 이렇게되면 깔끔하게 너 하지마 이것만 한다 라는 먼가 질서가 생기는데 제가 너무 깊이 생각했나 싶어요,, 죄송합니다 헷갈림으로 인해 헷갈리고 헷갈려서 헷갈려요,,,

  • spring
  • oop
YMMD 댓글 1 좋아요 1 조회수 313

선생님! 질문이 있습니다.

미해결

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

안녕하세요! 현재 컴공 2학년을 마치고 군대를 다녀온 학부생입니다. 질문 남기기 전에 먼저 좋은 강의 남겨주셔서 감사합니다^^ 패x트캠퍼스 강의도 들어보고 여러가지 글도 읽었는데도 스프링 개념에 대해 잘 몰랐는데 강의를 신청하고 들어보니 너무 쉽게 순차적으로 잘 설명해주셔서 어느정도 감이 잡히고 흥미가 생겼습니다. 제가 질문드릴 것은 다음과 같습니다. 로드맵을 따라서 수강을 하고 있는데, mvc2편까지 듣고는 제 개인 프로젝트를 할 수 있는 수준이 될까요? 물론 강의를 다 듣고 복습을 한다는 가정하에서요.. 지금 상태는 강의듣고 복습하고 있는데, 이론적인 부분은 어느정도 이해가 되는데 실무에서는 어떤식으로 사용하고, 실제 프로젝트를 할 때에는 어떤 상황에서 어떤 걸 써야할지는 아직 감이 잘 안 잡힙니다! 혹시 강의를 듣고 추후에는 어떤 식으로 공부해야지 프로젝트도 잘 할 수 있고, 더 바람직한 방법일까요? 물론 공부에 방법은 없다고 다들 그러시지만, 프론트엔드만 공부했던 저로서 어떻게 해야할지 방법이 안 잡힙니다.

  • spring
  • MVC
이재윤 댓글 1 좋아요 7 조회수 451

리텐션, requiredArgsConstructor 질문 있습니다.

미해결

스프링 핵심 원리 - 기본편

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 강사님~! 롬복 어노테이션인 requiredArgsConstructor 가 있으면 컴파일 시점에서 생성자를 자동 생성해 주잖아요. 근데 해당 어노테이션 선언을 들어가 보면 Retention policy가 Source 로 돼 있어요. 제 생각으론 Compile 로 돼 있어야 컴파일 시점에 해당 어노테이션이 메모리에 남아있어 해당 어노테이션을 보고 생성자를 생성할 것 같은데 말이죠. requiredArgsConstructor 의 Retention policy가 Source 로 돼 있어도 컴파일 시점에 생성자를 생성할 수 있나요? 감사합니다 ^0^

  • retention
  • oop
  • lombok
  • spring
윤동희 댓글 1 좋아요 0 조회수 357

REST API 방식에서 국제화 처리

미해결

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

안녕하세요 선생님 항상 강의 잘 보고 있습니다.! 타임리프에서의 국제화 적용은 잘 이해했습니다. 저는 현재 친구들과, 간단한 프로젝트를 진행중인데, 그 프로젝트는 백엔드와 프론트엔드를 나누어서 REST API 방식으로 데이터를 주고받습니다. 공부 목적으로 진행하는 프로젝트라, 국제화 기능을 넣어보려고 하는데 REST API 방식에서는 국제화를 어떻게 적용시켜야 하는지에 대해서는 언급이 없으셔서 혼자 코드를 작성해 보았습니다. 혹시 부족한 부분이 있거나, 잘못된 부분이 있으면 지적해주시면 감사하겠습니다. @Controller @Slf4j @RequiredArgsConstructor public class MessageController { private final MessageSource messageSource ; @GetMapping ( "/message" ) public ResponseEntity < ? > message ( Locale locale ){ String result = messageSource .getMessage ( "hello" ,null, checkLocale ( locale )) ; log .info ( "message = {}" , result ) ; return new ResponseEntity <>( result , HttpStatus. OK) ; } private Locale checkLocale ( Locale locale ){ Locale result = switch ( locale.getLanguage ()){ case "en" -> Locale. ENGLISH ; case "ko" -> Locale. KOREA ; default -> Locale. ENGLISH ; } ; return result ; } }

  • MVC
  • spring
신동훈 댓글 1 좋아요 1 조회수 515

AppConfig만 사용해도 DI 잘 됐던 거 같은데

미해결

스프링 핵심 원리 - 기본편

AppConfig만 사용해도 DI는 잘 됐던 거 같은데, MemberApp(스프링 컨테이너)까지 만들어서 사용하는 이유는 'DI 외에 다른 스프링 기능을 활용하기 위해서'가 맞는 거죠?

  • oop
  • spring
lsj59285 댓글 1 좋아요 6 조회수 403

스프링 빈의 라이프사이클 내에서

미해결

스프링 핵심 원리 - 기본편

안녕하세요, 다른 분들의 질문을 참고해봐도 혼자서 이해하는게 너무 버거워서 질문을 남깁니다. 여기저기 출력문을 찍어보니 ConfigurableApplicationContext ac = new AnnotationConfigApplicationContext(LifeCycleConfig.class); 에서 "스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존 관계 주입 -> 초기화 콜백" 까지 한번에 된다는 사실을 알았습니다. public class BeanLifeCycleTest { @Test public void lifeCycleTest() { System.out.println("rmfjadjswptodtjdeh;a??1"); ConfigurableApplicationContext ac = new AnnotationConfigApplicationContext(LifeCycleConfig.class); System.out.println("rmfjadjswptodtjdeh;a??2"); NetworkClient client = ac.getBean(NetworkClient.class); ac.close(); } @Configuration static class LifeCycleConfig { @Bean public NetworkClient networkClient() { NetworkClient networkClient = new NetworkClient(); //networkClient.setUrl("http://hello-spring.dev"); System.out.println("stestesatestasetasetaset"); return networkClient; } } } 1. setUrl은 생성자 주입처럼 동시에 의존관계가 주입되는게 맞을까요?? 2. 여기서 setUrl은 다른 분들의 질문을 보니 값 주입이라고 하던데 의존관계 주입이나 값 주입이나 비슷하다고 이해하고 넘어가면 될까요?? 3. afterPropertiesSet() 은 따로 호출을 하지 않았는데, 어떻게 호출을 하는건가요?? 4. 초기화 콜백은 '무조건' 호출이 되는 걸까요? 실제로 setUrl을 주석 처리해도 콜백함수가 호출이 됩니다. 질문이 조금 많지만 답변 부탁드립니다 ㅠㅠ 감사합니다.

  • spring
  • oop
lch9502 댓글 1 좋아요 2 조회수 333

파라미터 질문

미해결

스프링 핵심 원리 - 기본편

@Configuration static class SameBeanConfig { @Bean public MemberRepository memberRepository1 () { return new MemoryMemberRepository( "10" ) ; } @Bean public MemberRepository memberRepository2 () { return new MemoryMemberRepository( "1000" ) ; } } 2분59초 경에 MemoryMemberRepository("10") 이렇게 파라미터 값을 넘겨줄 수 있다고 하셨는데 MemoryMemberRepository 클래스에는 파라미터 1개를 받는 생성자가 없는데 어떻게 쓸 수 있는건가요?

  • spring
  • spring
  • oop
alrnr3521 댓글 1 좋아요 0 조회수 343

다운캐스팅에 대해서 질문이 있습니다!

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 무지한 질문을 드려서 정말 죄송합니다. 다운캐스팅 하실때에 원래 업캐스팅을 진행하고 다운캐스팅이 가능한것으로 알고있는데 구글링을 해봐도 RequestServlet -> HttpServletRequest로 다운캐스팅 가능한 이유를 모르겠습니다.. 답변 해주시면 감사하겠습니다!

  • 다운캐스팅
  • spring
  • MVC
열심히 공부하겠습니다! 댓글 2 좋아요 2 조회수 862

강의 테스트 도중 한가지 db에 대해서 한가지 궁금한게 생겨 질문남깁니다!

미해결

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

정말 부끄러운 질문일수도 있겠지만 궁금한건 알고싶어서 이렇게 질문 남깁니다(야생형 코스 밟으면서 진행하고있습니다) 저번 강의때 db가 꺼져있어도 local db? 로 테스트를 진행할 수 있다고 들었던거 같은데 저는 테스트를 돌릴때 db가 꺼져있으면 쿼리가 제대로 올라오지 않고 테스트에서 IllegalStateException이 뜨게 되는데 혹시 저의 미천한 궁금증을 해결해주실수 있을까요? 아니면 원래 개발할때는 db서버를 상시 열어두는게 기본중에 기본인가요...?

  • spring
  • 웹앱
  • java
  • JPA
  • spring-boot
댓글 1 좋아요 0 조회수 435

카테고리 다대다 매핑 => 다대일, 일대다로 매핑

미해결

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

@ManyToMany를 다대일 일대다 관계로 바꿔보았는데 이렇게 바꾸는 게 맞을까요?? <CategoryItem.java> package jpabook.jpashop.domain ; import jpabook.jpashop.domain.item. Item ; import lombok. Getter ; import lombok. Setter ; import javax.persistence. *; @Entity @Getter @Setter public class CategoryItem { @Id @GeneratedValue (strategy = GenerationType . IDENTITY ) @Column (name = " category_item_id " ) private Long id ; @ManyToOne @JoinColumn (name = " category_id " ) private Category category ; @ManyToOne @JoinColumn (name = " item_id " ) private Item item ; } <Category.java> package jpabook.jpashop.domain ; import jpabook.jpashop.domain.item. Item ; import lombok. Getter ; import lombok. Setter ; import javax.persistence. *; import java.util.ArrayList ; import java.util. List ; import static javax.persistence.FetchType .*; @Entity @Getter @Setter public class Category { @Id @GeneratedValue (strategy = GenerationType . IDENTITY ) @Column (name = " category_id " ) private Long id ; private String name ; @ManyToOne (fetch = LAZY ) @JoinColumn (name = " parent_id " ) private Category parent ; @OneToMany (mappedBy = "parent" ) private List < Category > child = new ArrayList <>() ; } <Item.java> package jpabook.jpashop.domain.item ; import jpabook.jpashop.domain.Category ; import jpabook.jpashop.domain.CategoryItem ; import lombok. Getter ; import lombok. Setter ; import javax.persistence. *; import java.util.ArrayList ; import java.util. List ; @Entity @Getter @Setter @Inheritance (strategy = InheritanceType . SINGLE_TABLE ) @DiscriminatorColumn (name = " DTYPE " ) public abstract class Item { @Id @GeneratedValue (strategy = GenerationType . IDENTITY ) @Column (name = " item_id " ) private Long id ; private String name ; private int price ; // 가격 private int stockQuantity ; // 재고수량 @OneToMany (mappedBy = "item" ) private List < CategoryItem > categoryItems = new ArrayList <>() ; }

  • 웹앱
  • spring
  • JPA
  • java
  • spring-boot
나 좀 도와줘요 댓글 1 좋아요 1 조회수 454

객체지향에 대해 궁금한 점

미해결

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

안녕하십니까 강사님 객체지향에 대해 궁금한 점이 생겨 질문드립니다. 17:05에서 order라는 메서드 안에 createOrderItem, createOrder 메서드들이 있습니다. 이 두 메서드는 OrderService 입장에서 OrderItem과 Order한테 "니네가 무슨 일은 하는지는 모르겠지만, 나는 이 두 개를 받아서 주문을 생성한다"라는 말이잖아요? OrderService가 하는 일은 OrderItem과 Order에서 받은 것들을 이용하여 주문 생성 OrderItem이 하는 일은 주문 상품 생성 Order가 하는 일은 주문 생성 그렇다면 이게 객체지향성을 나타내는 것일까요? 감사합니다

  • 웹앱
  • spring-boot
  • JPA
  • spring
  • java
gusdn85554 댓글 2 좋아요 0 조회수 381

assertThat 오류

미해결

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

이번 강의에서 회원 서비스 테스트 클래스에서 assertThat 오류가 발생합니다. 다른 클래스에서 assertThat를 이용할 때는 잘 사용이 되었지만 이번 클래스에서는 오류가 뜨네요 오류 내용 The method assertThat(String, T, Matcher<? super T>) in the type Assert is not applicable for the arguments (String) 임포트 내용 구글링을 해서 많은 방법을 써봤지만 해결이 되지 않았습니다.

  • spring
  • MVC
  • spring-boot
  • java
이현진 댓글 2 좋아요 0 조회수 3184

addItemV1 메소드 파라미터 타입 질문 드립니다.

해결됨

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

addItemV1 메서드에서 @RequestParam으로 요청 파라미터 변수를 받을 때 price는 int 타입이고, quantity는 Integer 타입으로 선언하신 이유가 무엇인지 궁금합니다. @PostMapping ( "/add" ) public String addItemV1 ( @RequestParam String itemName , @RequestParam int price , @RequestParam Integer quantity , Model model) { Item item = new Item() ; item.setItemName(itemName) ; item.setPrice(price) ; item.setQuantity(quantity) ; itemRepository .save(item) ; model.addAttribute( "item" , item) ; return "basic/item" ; }

  • MVC
  • spring
도호 댓글 1 좋아요 0 조회수 233

JSON 형식으로 파싱하는 이유?..

미해결

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

json도 문자라서 객체로 변환시켜주어야 된다고하셨는데 그이유가 궁금합니다. { "username" : "jeong" , "age" : "24" }

  • MVC
  • spring
qheogus55 댓글 3 좋아요 1 조회수 936

4분 20초에 동시성에 문제가 있을수 있다고 말씀해주셨는데요.

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오 [질문 내용] 4분 20초에 실무에서는 동시성을 고려해야 할수 있다고 말씀해주셨는데요. 저코드에서 동시성에 관련된 문제가 어떻게 발생이 되는지 알려주시면 감사하게습니다.

  • 동시성
  • java
  • 병렬성
  • MVC
  • spring
  • spring-boot
이준수 댓글 1 좋아요 0 조회수 419

member_Id, item_id,order_id 가 공유되는거 같은데 따로 할려면 어떻게 해야하나요?

미해결

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

4:33에 order 하나 만들었는데 #3이 되어있어서 확인해보니까 멤버 하나 만들면member_id=1 아이템 하나 만들면 item_id=2 주문 하나 만들면 order_id=3 이런식으로 id가 공유되는거 같은데 @GeneratedValue 때문인가요? 각각 따로 id를 만들어줄려면 어떻게 해야하나요?

  • spring-boot
  • java
  • JPA
  • spring
  • 웹앱
댓글 1 좋아요 0 조회수 214

Rest API 로 받을 때의 검증에 대해 질문있습니다.

미해결

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

Bean Validation에서 발생한 @NotBlank, @Max 등을 이후 강의에 나오는 RestControllerAdvice에서 잡아서 handling 하는 방법도 있을까요??

  • spring
  • MVC
taehyun16 댓글 1 좋아요 1 조회수 1232

인기 태그

인프런 TOP Writers

주간 인기글