inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

인터페이스 사용에 관하여 질문드립니다.

해결됨

토비의 스프링 6 - 이해와 원리

안녕하세요 토비님. 올해 토비님의 인프콘 발표내용중 마지막 부분에, 무조건 인터페이스를 사용하라 라고 하신 것에 대해 왜 무조건 인터페이스를 사용해야 하는지 궁금합니다. 평소 저의 생각은 구현체가 한개라면 굳이 인터페이스로 분리할 필요는 없다고 생각했습니다. 구현체가 두개 이상이 되었을때 인터페이스로 분리해도 충분하다고 생각했었는데요. 토비님께서 아주 단호하게 말씀하셔서, 어떤 관점에서 인터페이스를 꼭 사용해야 하는지 궁금하여 질문을 남기게 되었습니다. 언제나 좋은 강의 만들어 주셔서 감사합니다.!

  • java
  • spring
  • 인프콘
이초다 댓글 3 좋아요 0 조회수 360

프로젝트 실행 오류

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] HelloSpringApplication 에서 run 버튼을 클릭하면 다음과 같은 오류가 발생합니다. 어떻게 해야 하나요?

  • java
  • spring
  • spring-boot
정준영 댓글 2 좋아요 0 조회수 439

DTO 관련 질문 드립니다!

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 항상 강의 잘 보고 있습니다 @RequestMapping("/api/v2/members") public CreateMemberResponse saveMemberV2(@RequestBody @Valid CreateMemberRequest request){ Member member = new Member(); member.setName(request.getName()); Long id = memberService.join(member); return new CreateMemberResponse(id); } @Getter static class CreateMemberResponse{ private Long id; public CreateMemberResponse(Long id) { this.id = id; } } 이 부분에서 보면 하나의 class 안에서 DTO도 만들던데 보통 실무에서도 해당 기능 관련 DTO는 static class로 내부에 만드나요? 아니면 따로 분리하나요?

  • java
  • spring
  • spring-boot
  • jpa
김승호 댓글 1 좋아요 0 조회수 141

MemberRepository 질문있습니다!

미해결

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

MemberRepository 는 싱글톤으로 관리가 될 텐데 static으로 store, sequence 선언하는 이유가 있나요?

  • spring
  • mvc
colorisland 댓글 1 좋아요 0 조회수 90

return ModelAndView

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. return new ModelAndView()를 할때 그대로 정상 리턴된다는 말씀을 제가 제대로 이해한게 맞는지 여쭤보고 싶습니다. response.sendError를 가지고 return new ModelAndView()를 하게 되면 view랜더링 없이 was로 돌아가게 되서 다시 error를 확인하고 그에러에맞는 컨트롤러로 보내는걸로 알고있습니다. 그러면 원래 스프링이 정상작동할때도 뷰랜더링 한다음에 was로 돌아가는건가요?

  • spring
  • mvc
jh06_04jh 댓글 1 좋아요 0 조회수 130

3.x.x 버전 업데이트

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

섹션 1에 spring initializr를 진행하다가 java 17과 spring boot 3.4.1로 변경해 진행할 수 밖에 없다고 생각되어서 커뮤니티 질문들을 보았고 52강을 먼저 보게 되었습니다. java도 17로 업데이트하였고 17로 변경한 후에 gradle도 java 17에 맞게 7.3으로 변경하였는데 이런 오류가 뜹니다 ㅠㅠ 해결법 알려주시면 감사하겠습니다

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
박수빈 댓글 2 좋아요 0 조회수 419

Arrays.copyOf 메서드의 타입 세이프

미해결

토비의 스프링 부트 - 이해와 원리

컬렉션을 어레이로 만들때 3가지 방법을 보여주셨는데, Arrays.copyOf 메서드가 유일하게 타입 세이프가 되지 않는 메서드고 나머지가 타입세이프 되는걸로 알고있어서요. 혹시나 다른 학습자분들 참고 하시길 바랍니다.

  • spring
  • spring-boot
  • spring-jdbc
전인호 댓글 2 좋아요 1 조회수 204

src 파일에 test파일은 있는데, main파일이 없어요

미해결

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

src 파일에 test파일은 있는데, main파일이 없어요.. 어떻게 하면 될까요ㅠㅠ

  • spring
  • spring-boot
tndus159200297 댓글 1 좋아요 0 조회수 192

AppInitV3SpringMvc

미해결

스프링 부트 - 핵심 원리와 활용

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] AppInitV3SpringMvc 클래스 구현한 내용이 web.xml에서 DIspatcherServlet 설정하고 동일한거죠??

  • spring
  • spring-boot
  • prometheus
  • grafana
rudnf9605 댓글 1 좋아요 0 조회수 102

프로젝트 실행 오류

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 강의와 달리 디버깅이 되지 않습니다 무엇이 잘못된 점인지 설명해주셨으면 좋겠습니다

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

리퀘스트 스코프를 사용해도 오류가 안 납니다.

미해결

스프링 핵심 원리 - 기본편

강의에서는 아직 리퀘스트 스코프가 만들어지지 않아서 오류가 나는 게 정상이라고 하셨는데, 저는 오류가 뜨지 않고 로그까지 정상적으로 출력이 됩니다. 스프링 부트 버전 3입니다. 그리고 애노테이션은 @Scope("request")를 쓰면 log-demo URL로 접속해도 화이트라벨 에러 페이지가 뜨길래 스프링 문서에서 검색해서 나온 @RequestScope를 사용했습니다. 혹시 이것과 관련이 있을까요?

  • spring
  • 객체지향
  • requestscope
POWERPUFFGIRLS 댓글 4 좋아요 0 조회수 285

왜 조합이 아닌 상속을 사용하였을까요??

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 스프링 핵심원리에 부분을 재학습 중인 수강생입니다. 다름이 아니라 스프링 컨테이너인 AppllicationContext 는 다양한 인터페이스를 상속받아서 사용하는 것으로 알려주셔서 더 자세한 내용을 파악하고 싶어서 내용을 찾고 알려주신 코드를 고려하니, 문득 궁금한 점이 생겼습니다. 스프링 프레임워크는 당연하게도 철저하게 객체지향적 설계를 위주로 만들어졌을 거라고 생각하는데, 스프링 컨테이너를 만듦에 있어서 다양한 인터페이스를 상속한 이유가 궁금해졌습니다. 관계적 측면에서 스프링 컨테이너와 다양한 인터페이스의 관계는 has-a 관계라고 생각하여 조합을 통한 스프링 컨테이너를 구성하는 것이 더 바람직하다고 생각이 들었는데, 다양한 인터페이스를 상속하여 컨테이너를 구성했음이 왜인지 궁금해졌습니다. 물론 본 강의의 내용과는 밀접한 관련이 없을 수도 있겠지만,, 개인적으로 모르는 부분일 수도 있겠다는 생각이 들었습니다. 또한 지금은 개인적인 의문이지만, 분명 다른 분들도 궁금해하시는 분들도 있을 것이라고 생각됩니다. 명확하지 않아도 부디 고려해볼 수 있는 점이나 아시는 부분이 있으실까요??

  • spring
  • 객체지향
  • 핵심원리
  • beanfactory
  • appllicationcontext
변현진 댓글 1 좋아요 0 조회수 128

Mockito와 JDK가 충돌하는 문제 문의 드립니다.

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] Mockito와 JDK가 충돌하는 문제 문의 드립니다. 프로젝트 강의 내용과 일치하게 설정하였는데, @SpringBootTest 어노테이션을 사용하면 에러가 뜹니다. 데이터베이스에 Member테이블은 생성이 되는 것으로 보아 DB와 연결은 잘 되는 것 같습니다. 여러 자료를 찾아보며 의존성을 추가해봐도 해결이 되지 않아 프로젝트 파일 첨부합니다. 감사합니다, 파일 링크: https://drive.google.com/file/d/1b_Liz-YjGAuRUzHM0Em5DnhHa0rtQ9Lm/view?usp=sharing

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
박세현 댓글 2 좋아요 0 조회수 234

빈 생성 시점에 url

미해결

스프링 핵심 원리 - 기본편

9:51에 빈이 생성되는 시점에 requestUrl을 알 수 없다고 하셨는데 그 이유가 궁금합니다.

  • spring
  • 객체지향
POWERPUFFGIRLS 댓글 1 좋아요 0 조회수 103

FormAuthenticationFailureHandler -> setDefaultFailureUrl 의 Thread safety

해결됨

스프링 시큐리티 완전 정복 [6.x 개정판]

안녕하세요 선생님, [커스텀 인증실패 핸들러 - AuthenticationFailureHandler (08:11) ] 강의를 듣다가 의문점이 생겨서 문의드립니다. 현재 AuthenticationFailureHandler 를 extend 해서 사용 중인데 FormAuthenticationFailureHandler.onAuthenticationFailure 메소드에서 아래처럼 defaultFailureUrl 을 변경하는 부분이 있습니다. @Component public class FormAuthenticationFailureHandler extends SimpleUrlAuthenticationFailureHandler { @Override public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException { String errorMessage = "Invalid Username or Password"; if (exception instanceof BadCredentialsException) { errorMessage = "Invalid Username or Password"; } else if (exception instanceof UsernameNotFoundException) { errorMessage = "User not exists"; } else if (exception instanceof CredentialsExpiredException) { errorMessage = "Expired password"; } else if (exception instanceof SecretException) { errorMessage = "Invalid Secret Key"; } // Thread Safe...? setDefaultFailureUrl("/login?error=true&exception=" + errorMessage); super.onAuthenticationFailure(request, response, exception); } } 이 setDefaultFailureUrl 메소드를 호출해서 모든 쓰레드가 접근할 수 있는 defaultFailureUrl 필드를 변경하는 건 Thread Safe 하지 않지 않나요??

  • spring
  • spring-boot
  • spring-security
  • security
  • web-security
식빵 댓글 1 좋아요 2 조회수 176

MemberRepository, ItemRepository

미해결

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

[질문 내용] ItemRepository에서 save() 메소드를 만들 때 아직 등록한게 없다면 id 값이 없으니 persist하고 id가 있다면 merge하는 조건문이 있습니다. 그렇다면 MemberRepository에서도 save()메소드에 아직 아무런 회원이 없다면 똑같이 ItemRepository의 save()메소드 처럼 조건문을 넣어야 하지 않을까요? 왜 MemberRepository의 save()메소드는 단지 em.persist(member)만 존재하는 건지 궁금합니다.

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

Order에서 JPA 메타데이터 분리 - XML 사용

해결됨

토비의 스프링 6 - 이해와 원리

안녕하세요, 강의에서 올려주신 META-INF/orm.xml을 통해 orders의 table과 id가 만들어지는 것을 확인했습니다. 다만 Order의 no가 고유한 값을 가져야한다는 데이터 정합성 관련 SQL(schema.sql의 2,3번째 줄)이 Hibernate에서 표시되지 않는 것을 확인하여 unique="true"를 다음과 같이 넣어주면 원래의 JPA 어노테이션을 대체한 것으로 볼 수 있을지 문의드립니다. 감사합니다. <basic name="no"> <column name="no" length="255" unique="true"/> </basic>

  • java
  • spring
이정수 댓글 2 좋아요 0 조회수 279

Redis 테스트

미해결

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 강사님 안녕하세요! 강의를 수강하고 프로젝트에 테스트 코드를 작성하며 적용해보고 있습니다. 프로젝트에서 Redis로 저장되는 객체가 있는데, 이를 테스트하기 위해 찾아보니 embedded Redis를 사용하거나 테스트 컨테이너를 사용한다고 합니다. 'Redis에서 단순한 저장/조회/수정 로직만 존재하는데, 그냥 테스트하지말고 냅둘까?' 유혹이 생기더라구요. 이처럼 만약 테스트를 위해 추가적으로 설정이 필요한 경우, 어느정도 선까지 테스트를 진행하는게 맞을지 고민이 됩니다. 시간적으로 가능한 선 내에서는 무조건 다 하는게 맞는걸까요?

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
hgh1472 댓글 2 좋아요 0 조회수 134

AnnotationConfigApplicationContext의 용도

해결됨

스프링 핵심 원리 - 기본편

1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인 [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 스프링 핵심원리 기본편 수업 에서 조회한 빈이 모두 필요할때 ,List,Map수업을 듣고 있는데 AnnotationConfigApplicationContext 에 DiscountService.class도 같이 파라미터로 넘기는데 왜 넘기는 건가요? DiscountService 는 @Component 와같은 어노테이션도 따로 없어서 빈으로 등록 되지 않는건 아닌가요/?? AutoAppconfig 에서 basepackage로 스캔 된것들만 빈으로 등록되는 게 아닌가요????

  • spring
  • 객체지향
안태승 댓글 1 좋아요 2 조회수 182

SpringDataJPA 강의따라서 환경설정 후 test코드 실행하면 오류가납니다

미해결

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오)예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. Could not initialize plugin: interface org.mockito.plugins.MockMaker에러가 발생합니다.. 환경설정이 문제인걸까요..? 아래의 테스트 코드 실행시 아래와 같은오류가 발생합니다. 도와주세요ㅠㅠ <gradle파일> plugins { id 'java' id 'org.springframework.boot' version '3.4.1' id 'io.spring.dependency-management' version '1.1.7' } group = 'study' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } <test파일> package study.data_jpa; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class DataJpaApplicationTests { @Test void contextLoads() { } } <오류> Could not initialize plugin: interface org.mockito.plugins.MockMaker Caused by: java.lang.IllegalStateException: Internal problem occurred, please report it. Mockito is unable to load the default implementation of class that is a part of Mockito distribution. Failed to load interface org.mockito.plugins.MockMaker It appears as if your JDK does not supply a working agent attachment mechanism. Java : 17 JVM vendor name : Oracle Corporation JVM vendor version : 17.0.10+11-LTS-240 JVM name : Java HotSpot(TM) 64-Bit Server VM JVM version : 17.0.10+11-LTS-240 JVM info : mixed mode, sharing OS name : Windows 10 OS version : 10.0 DataJpaApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at PluginLoader.java:85 Caused by: java.lang.IllegalStateException at DefaultMockitoPlugins.java:105 Caused by: java.lang.reflect.InvocationTargetException at Constructor.java:499 Caused by: org.mockito.exceptions.base.MockitoInitializationException at InlineDelegateByteBuddyMockMaker.java:254 Caused by: java.lang.IllegalArgumentException at InstrumentationImpl.java:-2

  • java
  • spring
  • spring-boot
  • jpa
guswhd903 댓글 1 좋아요 0 조회수 177

인기 태그

인프런 TOP Writers

주간 인기글