inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

provider와 프록시에 관하여

해결됨

스프링 핵심 원리 - 기본편

1. 이번 강의에서 설명하시는 과정에서 '프록시도 provider처럼 일단 가짜를 만들어서 처리한다'라고 말씀을 하셨는데 바로 전 강의에서는 provider의 특징으로 getObject()를 호출하는 시점까지 request scope 빈의 생성 지연, 호출 후에 빈을 생성한다고 알려주셨습니다. 그렇다면 request scope 빈의 생성 지연 <- 이 특징이 일단 가짜 객체를 만들어서 주입시킨다와 같은 의미인가요? (부연 설명을 붙이자면 일단 가짜 객체를 만들어서 주입시켜서 빈의 생성을 지연시킨다는 건지) 그리고 그 후에 프록시처럼 해당 request scope로 만들어놓은 로직을 호출 후에 빈을 생성하는 것인가요? 원래 강의에서는 24번, 25번 줄이 바꿔져있습니다. myLogger.setRequestURL 같이 호출하면 가짜 프록시객체가 실제 빈한테 위임한다고 하셨는데 정말로 위임하는지 궁금해서 사진처럼 순서를 바꿔봤습니다. 근데 실행을 해보니 똑같이 가짜 프록시 객체가 출력이 돼는데 왜 그런 것인가요? (출력 화면)

  • spring
  • oop
Lego 댓글 1 좋아요 0 조회수 790

Spring boot 버젼과 java 버젼에 대해서 질문이 있습니다.

해결됨

스프링 핵심 원리 - 기본편

https://www.inflearn.com/questions/700027/spring-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1 안녕하세요! 강의를 수강 중 spring boot 3.0으로 빌드를 하니 위의 답변처럼 되지 않아 spring boot 2.7.7으로 변경하였습니다. 다만 아래의 Junit에 대한 빌드부분에 대한 내용차이가 있어서 이 부분도 동일하게 가져가야하는 부분인지 혹시 몰라 질문드립니다!! 감사합니다. 영한님 강의 빌드 제 빌드

  • oop
  • spring
Son원철 댓글 1 좋아요 0 조회수 887

controller.process(request, response); 의 궁금점

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] controller.process(request, response); 가 dispatcher.forward(request, response); 와 똑같이 화면을 전환해주는 의미로 볼 수 있나요?

  • spring
  • MVC
hipass4 댓글 1 좋아요 0 조회수 571

@Autowired ApplicationContext 확인좀 해주세요

미해결

스프링 핵심 원리 - 기본편

1번 new AnnotaitonConfigAplicationContxt(ClientBean, PrototypeBean.class) 하는 순간 2번 @Autowired가 작동하면서 new AnnotaitonConfigAplicationContxt(ClientBean, PrototypeBean.class) 가 ApplicationcContext applicationContext;로 DI 되는 게 맞죠?

  • oop
  • spring
g g 댓글 1 좋아요 1 조회수 672

keycloack userinfo 403 forbidden error

미해결

스프링 시큐리티 OAuth2

https://www.inflearn.com/questions/693312/profile-email-%EA%B6%8C%ED%95%9C%ED%8E%98%EC%9D%B4%EC%A7%80%EA%B0%80-%EB%82%98%EC%98%A4%EC%A7%80-%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4 해당 페이지에 있는 해결 방법 그대로 consent required를 킨 후에 access token을 받아오는 것 까지는 잘 되는데, 마찬가지로 userinfo 요청시 http://localhost:8080/realms/oauth2/protocol/openid-connect/userinfo 에 Authorization에 Bearer Token타입 체크 후 Token값도 받아온 access_token값으로 잘 넣어줬는데도 403 forbidden 에러가 뜨네요 무엇이 잘못된걸까요 keycloack버전은 20.0.2입니다

  • spring
  • spring-boot
  • oauth
  • java
sangwoo0795 댓글 3 좋아요 1 조회수 3836

(14:40) 세션에 로그인 멤버만 담아야한다.

미해결

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

세션과 메모리에 대해서 질문드립니다. 강의 14:40 경 '예제에서는 Member 인스턴스 자체를 세션 메모리에 저장했지만, 실무에서는 최소한의 정보를 담은 객체만 저장한다.' 라는 의미로 말씀해주셨습니다. 그렇다면 이 때, 최소한의 정보를 담은 객체 는 어떻게 생성해야 하는지 궁금합니다. 제가 생각한 방법은 1. LoginForm 의 ID, PW 를 추출 2. 로그인 서비스에서 리포지토리에 접근에 실제로 ID, PW가 일치하는지 확인 (로그인 로직 수행) 3. 위 로직이 끝나고 ID, PW에 오류가 없으면 ID 필드만 갖는 LoginMember 인스턴스 생성 (이 경우 JPA를 쓴다면 식별자만 필드로 갖는 LoginMember) 4. 생성된 LoginMember 인스턴스를 value 로 세션 메모리 에 저장 이 될 것 같습니다. 혹시 제가 생각한 방법대로 하면 될지, 아니면 다른 방법이 있을 지 (더 좋은 방법이 없는지) 서포터님의 의견을 묻고 싶습니다. 영한님과 서포터님들께 항상 감사드립니다. 🙇‍♂️

  • spring
  • MVC
andthensome 댓글 2 좋아요 0 조회수 591

${member.id} ${member.name}의 member가 어떻게 domain.Member에서 오는지 궁금합니다.

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] html코드 중 <tr th:each="member : ${members}">의 members는 controller 코드의 members로부터 오는 것으로 알고 있습니다. List<Member> members = memberService.findMembers(); model.addAttribute("members", members); return "members/memberList"; 그런데 members의 값이 memberService.findMembers(); 부터 오는 것이여서 MemoryMemberRepository.java의 findAll()를 찾아봤습니다. @Override public List<Member> findAll() { return new ArrayList<>(store.values()); } 여기서 values() method로 인해서 map의 값만 추출되어 list로 변환해서 받는 것으로 알고 있습니다. 그래서 저는 controller의 members가 값만 list로 나열된 것으로 생각했는데 memberList.html에서 "member : ${members}" member가 list의 value가 아닌 domain.Member class라는 것이 잘 이해가 안됩니다.

  • java
  • spring
  • spring-boot
  • MVC
gto1997 댓글 1 좋아요 3 조회수 627

Autowired 왜 쓰냐고 물어보면 이렇게 대답해도 괜찮을까요?

미해결

스프링 핵심 원리 - 기본편

설정정보 파일에서 수동으로 @Bean을 등록하고 의존관계 주입까지 설정 하는 방법은 수동등록해야 할 @Bean의 개수가 많아지면 관리가 번거롭고 오류가 발생할 확률이 커져서 @ComponentScan과@Component를 이용해서 Bean을 자동 등록 하는 방법이 생겼는데 이렇게 되면 기존의 의존관계를 수동으로 설정하는 방법을 사용할 수 없어서 @Autowired라는 애너태이션을 사용해서 컨테이너에 등록된 Bean을 끌어와서 의존관계 주입을 해줍니다.

  • spring
  • oop
g g 댓글 1 좋아요 1 조회수 558

comment table에서 저장될떄 왜 id값이 2부터저장이되는건가요?

미해결

스프링 데이터 JPA

다른 테이블을 추가로 만들어서 post table에 매핑을 해봤더니 id값이 3부터 시작하더라구요? id값은 각 테이블 pk라서 각 테이블 처음인 1부터시작해야하는것아닌가요? 이게 Generatevalue 어노테이션과 관계가있는건가요?

  • spring
  • java
  • JPA
김은수 댓글 1 좋아요 0 조회수 437

ClienBean에 PrototypeBean 객체 생성에 관해 궁금한 것이 있습니다.

해결됨

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의를 듣다가 의문점이 생겨서 질문 드립니다. ClientBean에 이미 로직을 실행해서 prototypeBean을 생성하고 나중에 로직을 한번 더 실행할때 Provider에서 prototypeBean으로 불러오는 것과 Logic() 메서드에서 getBean()으로 prototypeBean 불러오는것 둘다 ClientBean에 있는 기존의 prototypeBean을 스프링에서 새로운 prototypeBean을 생성해서 기존꺼를 덮어쓴다고 이해하면 맞을까요?? 제가 나름대로 테스트해본결과 로직을 실행 시킬때마다 ClientBean이 가지고 있던 prototypeBean의 객체 주소값이 달라져서 제가 이해 한 내용이 맞는지 궁금합니다.

  • oop
  • spring
이찬원 댓글 1 좋아요 1 조회수 462

pom에 스프링 jdbc 인식 오류

미해결

스프링 프레임워크 입문자를 위한 따라하기

Invalid property 'dataSourse' of bean class [org.mybatis.spring.SqlSessionFactoryBean]: Bean property 'dataSourse' is not writable or has an invalid setter method. Did you mean 'dataSource'? 해당 오류가 떠서 구글링 막 검색하고 했는데 스프링 jdbc pom에 코드 복사해서 삽입하고 라이브러리에 잘 등록된것 까지 확인했는데도 서버 실행시 같은 오류가 뜨는데 뭐가 문제일까요? ㅠㅠ 마리아db 데이터베이스 -> 테이블까지 다 해놓은 상태인데 원인 해결이 안됩니다 ㅠㅠ

  • jquery
  • spring
  • 전자정부프레임워크
G_wooden 댓글 1 좋아요 0 조회수 480

updateItemDto

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 새해 복 많이 받으세요 ! 열심히 강의를 수강중인 학생 입니다. updateItemDTO 관련하여 궁금한게 생겨서 문의 남깁니다. 영한님이 말씀해주신 의견에 따라 소스를 변경해보았습니다. Controller updateItemDto (service package안에 뒀습니다) Service Item book 소스는 이런식으로 변경해서 잘 동작 하는 것 확인 했습니다. 궁금점 영한님이 다른 분에게 남겨 준 글을 봤을 때 DTO가 생성되는 계층에 dto class를 작성하라고 쓰여있었습니다. 저의 소스 같은 경우 Controller 에서 인스턴스화 되고 있는데 이럴 때는 Controller 밑에 dto package를 만들었어야 하는건가요? Service 쪽에서 Item findItem = itemRepository.findOne(itemId); findItem.changeItem(updateItemDto); 이 로직을 실행하게 되면 Book, Album , Movie 다 똑같이 changeItem override 해주었습니다. 이후에 Controller에서 Album , Movie 에 필요한 필드 값 세팅 후 Service로 넘겼습니다. 3개의 자식 중에 Book 호출 되게 되는데 이 점이 궁금합니다 (기본적인 자바 지식 일수도 있지만, 구글링을 하여도 적합한 글을 찾지 못해서 글 남겼습니다) 3. 2번과 이어지는 질문인데, 혹시 movie , album , book 을 다 수정할 수 있게 된다면 어떤 식으로 구성해야 좋은지 궁금합니다! 4.처음 view에서 넘겨 받은 BookForm을 itemService.updateItem() 인자로 넘기지 않고 중간에 변환해서 넘긴 이유가 궁금합니다! 5번 질문과 같은 맥락일까요 5.service 계층에서 dto를 의존하게 되는 경우는 어떤 경우인지도 궁금합니다 ! 좋은 강의 잘 보고 있습니다. 항상 감사합니다!

  • 웹앱
  • java
  • JPA
  • spring
  • spring-boot
poiuy1132 댓글 2 좋아요 1 조회수 713

요청이 String이고 응답이 객체 형태일 때 메시지 컨버터

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 요청이 text/plain인 "hello"이고, 응답이 application/json인 HelloData ({"username: "hello", "age" : 10})인 경우에는 StringHttpMessageConverter만 쓰이나요? 아니면 MappingJackson2HttpMessageConverter도 함께 쓰이나요? 영한 님의 강의에 따르면 content-type이 application/json이고, void hello(@RequestBody String data) {}일 때는 StringHttpMessageConverter가 모든 타입의 미디어 타입이 가능하므로 StringHttpMessageConverter가 쓰인다고 했는데 그렇게 생각하면 될 지 질문드립니다

  • 메시지컨버터
  • spring
  • MVC
devholic 댓글 1 좋아요 0 조회수 688

SaveCheck, UpdateCheck 질문

미해결

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

Bean Validation-groups SaveCheck UpdateCheck 위 인터페이스를 만드는 것만으로 어떻게 item model이 나눠서 구분이 되는지 궁금합니다.

  • MVC
  • spring
David Byun 댓글 1 좋아요 0 조회수 562

MessageSourceTest의 helloMessage() 메서드 테스트 오류

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] MessageSourceTest 의 helloMessage() 메서드를 테스트중 인데 계속 오류가 발생해 질문을 남기게 되었습니다. 처음엔 인코딩 문제인 것 같아 인코딩과 관련된 설정은 모두 질문에 나와있는데로 바꾸었는데도 불구하고 계속 오류가 뜹니다. messages_en.properties 파일을 지우고 messages.properties 파일 하나만 남겨두고 테스트를 하면 테스트가 정상적으로 성공합니다. 하지만 messages_en.properties를 추가하는 순간 이런식으로 Expecting이 "hello"로 바뀌고 오류가 뜨는 것 같습니다. 해결방법을 가르쳐주시면 감사하겠습니다.

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

logout 과 관련한 질문이 있습니다.

미해결

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

@PostMapping("/logout") public String logout(HttpServletResponse response) { expireCookie(response, "memberId"); return "redirect:/"; } private void expireCookie(HttpServletResponse response, String cookieName) { Cookie cookie = new Cookie(cookieName, null); cookie.setMaxAge(0); response.addCookie(cookie); } logout 메서드를 공부하면서 의문이 생겼습니다. 코드를 보니까 memberId 이름을 가진 쿠키를 하나 생성해서 setMaxAge = 0으로 설정한 후에 addCookie를 하는데 이렇게 되면 memberId 이름을 가진 쿠키가 2개가 되는 것 아닌가요? (기존에 로그인 할 때 memberId 생성 + 로그아웃할 때 memberId 생성) 이 memberId가 대체된다고 생각했을 때에도 여러 회원이 로그인을 하게 되면 memberId = x, memberId = y, ... 이렇게 다양하게 존재할 것 같은데 저렇게 같은 이름으로 memberId의 setMaxAge = 0 처리를 해버리면 모든 회원의 memberId의 setMaxage가 0이 되지 않을까 싶어서 의문이네요ㅠㅠ

  • MVC
  • spring
aj4941 댓글 1 좋아요 1 조회수 415

빌더패턴 사용시 연관관계ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

미해결

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

안녕하세요 ㅠㅠ 빌더패턴 사용시 이런식으로 구성하려고하는데요. 이렇게해서 INSERT를 하면 NULL로 받습니다. 그래서 이렇게 putOrder메소드를 만들어서 빌더패턴안에 포문으로 돌려서 해결했는데 이런식으로 하는게 맞는지(?) 되는지(?) 궁금합니다. 또한 https://www.inflearn.com/questions/419013/%EC%97%B0%EA%B4%80%EA%B4%80%EA%B3%84-%ED%8E%B8%EC%9D%98-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%83%9D%EC%84%B1-%EB%A9%94%EC%86%8C%EB%93%9C%EC%97%90-%EB%8C%80%ED%95%B4-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A0%A4%EC%9A%94 여기서 질문한 것 역시 봤었는데, 왜 저는 저렇게 안되는 걸까요?? @@ 무슨 차이가 있는 걸까요???

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

LettuceLockStockFacadeTest를 다시 실행하면 왜 실패가 날까요?

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

test가 정상으로 처리되어 redisson을 추가하여 test하였습니다. RedissonLockStockFacadeTest는 이상이 없는데 LettuceLockStockFacadeTest를 재시도 한 결과 실패가 됩니다. 원인을 찾아보려고 다 다시 만들어봤지만 동일한 이슈가 발생하여습니다. 무엇이 문제일까요? redisson의 종속성을 삭제하고 돌리면 이상이 없음을 확인하였습니다. LettuceLockStockFacade 컴포넌트 와 RedissonLockStockFacade 컴포넌트는 함께 사용할 수 는 없나요? 또한 그 이유가 무엇인가요?

  • spring
  • java
  • 동시성
junmo sung 댓글 2 좋아요 0 조회수 470

외부라이브러리 호출

미해결

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예 /아니오 ) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 설정정보로 등록하면 외부라이브러리에도 초기화, 종료메서드를 적용할 수 있다는 것은 이해가 되었는데요. 그 외에는 외부라이브러리에 적용할수 없다는 말이 무슨 의미인지 잘 모르겠습니다. 질문을 여럿 찾아봤는데 질문이 조금 달라서..해결이 안됬네요 DB커넥션 예를 들면, 초기화, 종료 메서드를 단순히 애노테이션(@PostConstruct, @PreDestroy)이 등록된 메서드안에서 호출하면, 그 안에서 호출된 여러 라이브러리 메서드처럼 결국엔, 굳이 설정정보사용안하고도 사용할수 있다(적용할수 있다)고 볼수 있는거 아닌가라고 생각이 듭니다. 제가 지금 잘못 이해한거 같긴한데, 어디 부분을 잘못 이해해서 이런 생각을 하는건지 잘 모르겠습니다.

  • spring
  • oop
donkey 댓글 1 좋아요 0 조회수 495

인기 태그

인프런 TOP Writers

주간 인기글