inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

pointcut.setExpression 문자열에 컨트롤+마우스 좌클릭

미해결

스프링 핵심 원리 - 고급편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의에서는 pointcut.setExpression 문자열에 컨트롤+마우스 좌클릭하면 선언부로 이동 되는데 저는 되지 않습니다. 인텔리제이 올팩 구독해서 쓰고 있습니다. 뭔가 설정같은게 달라서 그럴까요?

  • spring
  • 디자인-패턴
sd3503 댓글 1 좋아요 0 조회수 133

mysql 연결 관련 에러 질문있습니다

미해결

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

안녕하세요 선생님. 실습 과정중 mysql과 연결이 잘 안 되는 것 같아 질문드립니다 처음에 있었던 에러였는데요 화면 접속 자체는 잘 되는데 이름과 나이를 저장하면 2024-11-28 16:57:49.886 ERROR 13764 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class com.group .libraryapp.dto.user.request.UserCreateRequest]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.group.libraryapp.dto.user.request.UserCreateRequest (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 2]] with root cause com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.group.libraryapp.dto.user.request.UserCreateRequest (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 2] 이런 오류가 떴습니다. 검색해보니 UserCreateRequest에 기본 생성자를 만들라고 해서 만든 후 실행하니 이 오류는 안뜨긴합니다. 인자 있는 생성자가 있었는데 왜 기본 생성자를 만들어야하는건가요? 지금 제 코드가 꼬여서 그런걸까요? 또한 에러 해결 방법으로 애노테이션 누락 : Jackson 라이브러리에서 객체를 직렬화/역직렬화할 때 필요한 애노테이션이 누락되었을 수 있습니다. 예를 들어, 생성자에 @JsonCreator 와 각 필드에 @JsonProperty 를 추가해 보세요. 이런 방법을 추천하는데 이건 무엇인가요?? 위 에러 고친 이후에는 SQL 문법 오류가 발생하는데요 선생님과 똑같이 문법을 사용했는데 왜 오류가 생기는지 모르겠습니다.. sql에 테이블 자체는 잘 생성되어있는 상태입니다

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
wosyh18 댓글 1 좋아요 0 조회수 212

404 HTTP 상태 코드

미해결

스프링 프레임워크는 내 손에 [스프1탄]

선생님 안녕하세요 MVC01에서 코드를 이상 없이 작성한 거 같은데 계속해서 404 에러 코드가 발생해서 한 번만 확인해주시면 감사하겠습니다. https://github.com/normaldeve/SpringMVC

  • jsp
  • spring
  • mvc
  • spring-security
김준우 댓글 2 좋아요 0 조회수 199

회원리포지토리 테스트케이스 작성 첫 테스트

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 회원 리포지토리 테스트 케이스 작성중 4:43 test 결과 저만 -1 나오는게 비정상인가요? package hello.hello_spring.repository; import hello.hello_spring.domain.Member; import org.junit.jupiter.api.Test; class MemoryMemberRepositoryTest { MemberRepository repository = new MemoryMemberRepository(); @Test public void save() { Member member = new Member(); member.setName("spring"); repository.save(member); //repository.findById(member.getId()); Member result = repository.findById(member.getId()).get(); System.out.println("result = " + (result == member)); } }

  • java
  • spring
  • mvc
  • spring-boot
sh hhyeogi365 댓글 2 좋아요 0 조회수 288

ac.getBean(빈이름, 타입), ac.getBean(타입)

미해결

스프링 핵심 원리 - 기본편

[질문 내용] @Test @DisplayName("모든 빈 출력하기") void findAllBeans() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); // 스프링에 등록된 모든 빈 이름을 조회한다. for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); // 스프링 컨테이너에서 빈 이름으로 빈 객체(인스턴스)를 조회한다. System.out.println("name(key) = " + beanDefinitionName + ", object(value) = " + bean); } } 위 코드에서 getBean() 메소드에 배열 변수를 foreach 문에 담아 beanDefinitionName을 매개변수에 놓아져 있습니다. 그런데 스프링 빈 조회 - 기본 설명문에서 ac.getBean(빈이름, 타입) 과 ac.getBean(타입) 2가지 조회 방법이 있는데 Object bean = ac.getBean(beanDefinitionName); 코드 에서는 빈이름인지 타입인지 잘 분간이 안돼서 모호하게 보입니다. 왜 이게 가능한 건지 설명해주세요.

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

Projection 부분 듣고있는데 의문점

미해결

실전! 스프링 데이터 JPA

의문점이있습니다. public interface UsernameOnly { String getUsername(); } 이런식으로 사용자 이름만 가져올수있게 하는건 알겠는데 그냥 레파지토리에 @Query("select m.userName from Member m ") 그냥 이런식으로 하면되는거아닌가요?굳이 projection안쓰고?햇갈립니다

  • java
  • spring
  • spring-boot
  • jpa
임다정 댓글 1 좋아요 0 조회수 89

String[] beanDefinitionNames = ac.getBeanDefinitionNames();

해결됨

스프링 핵심 원리 - 기본편

[질문 내용] @Test @DisplayName("모든 빈 출력하기") void findAllBeans() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name = : " + beanDefinitionName + ", object = : " + bean); } } 김영한 강사님께서 ac.getBean(beanDefinitionName);의 값을 대입할 때 타입이 Object라고 한 것이 type을 지정하지 않아서 그렇다고 하셨는데 String[] beanDefinitionNames = ac.getBeanDefinitionNames(); 에서 보면은 String[] 배열에 담아 놓은 것을 확인할 수 있습니다. 즉 beanDefinitionName 들은 타입이 String이니까 String[] 배열에 담을 수 있다고 저는 생각하는데 무엇 때문에 type 을 지정하지 않아서 Object라고 하신건지 궁금합니다.

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

save() 호출시 키 중복예외로 복구를 시도하는 경우의 대안책

해결됨

스프링 DB 1편 - 데이터 접근 핵심 원리

안녕하세요. 스프링과 문제해결 - 예외처리, 반복에서 ExTranslatorV1Test.java 소스를 보면 repository.save호출시 MyDuplicateKeyException예외가 발생하면 random숫자를 더해서 복구를 합니다. 예외를 잘 다루줄 몰랐던 시절, 저는 save전에 findById를 통해 DB에 동일한 값이 있는지 확인하는 코드를 짜왔는데요. 위 두 방법의 장단점이 무엇인지 궁금합니다. 혹시 전자의 방식이 더 올바르다고 말할 수 있나요?

  • spring
  • mvc
  • spring-jdbc
창신동 장첸 댓글 1 좋아요 0 조회수 113

일대 다 중간테이블

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요! 혹시 다대다의 경우는 중간테이블을 두어 푸는 것이 실무에서 필수적이라 했는데, 일대 다의 경우에도 비즈니스 로직 분리 : 중간 테이블을 통해 비즈니스 로직(보상 분배, 순위 계산 등)을 별도로 관리함으로써, 엔티티 간의 복잡성을 줄입니다. 데이터의 독립적 관리 : 과거 랭킹 기록, 보상 내역 등 변경하지 않아야 할 데이터를 독립적으로 저장하고 관리할 수 있습니다. 이런 이유로 중간테이블을 두기도 하나요? 예를 들어 사용자와 랭크 관계가 일대 다인 상황에서(사용자는 한 랭크만 참가 가능) 과거 정보들을 저장하기 위해 중간테이블을 두고 거기에 전적 같은 정보를 저장하고자 하는데 이런 경우 일대 다임에도 중간테이블을 놔두어 관리해도 되나요?

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

예외 분류와 문서화의 의미

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

안녕하세요. 강사님 강의내용을 좀 더 눈에 들어오게 만들고 싶어 아래와 같이 표로 정리했습니다. 두 가지 질문이 있습니다. 질문1) 표로 분류한 것처럼 한 체크예외에 복구가능/복구불가 , 한 언체크예외에 복구가능/복구불가 분류가 가능한가요? 체크예외 복구 가능한 예외 복구 불가능한 예외 언체크예외 복구 가능한 예외 복구 불가능한 예외 질문2) 언체크예외 특징을 위 표로 정리를 했음에도 강의에서 문서화를 강조하신 이유를 파악하지 못했습니다. 개발자가 개발당시 미래에 실행중에 어떤 런타임예외가 발생할 지 모르기 때문에 즉, 런타임예외 모든 경우의수를 예측하기 어렵기 떄문에 '처리'를 하지 못한다고 이해해도 될까요? 따라서 운영중에 마주하게 되는 런타임예외들을 매 순간마다 문서에 기록해두라는 말씀이신지 궁금합니다.

  • spring
  • mvc
  • spring-jdbc
창신동 장첸 댓글 1 좋아요 0 조회수 186

Rest 로그인 후 403 오류

미해결

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

Rest 방식 로그인 하였을 때 유저정보를 불러오지를 못합니다. 로그인 하였을 때 로그 filerChain restFilter restcontroller @AuthenticationPrincipal 에 담긴 정보

  • spring
  • spring-boot
  • spring-security
  • security
  • web-security
댓글 1 좋아요 0 조회수 108

내추럴 템플릿이 정확히 뭔 개념인가요?

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 내추럴 템플릿 기능이라는 것이 정확히 무엇인지 모르겠습니다. 느낌은 파일을 직접 열기 할 때, html css 자바스크립트의 순수한 구조가 그대로 남겨진 것? 이라는 것 같은데 맞는지 모르겠습니다.

  • spring
  • mvc
amadeus20 댓글 1 좋아요 0 조회수 240

로그인 처리 시 패스워드 null이 들어 가는 현상

미해결

코드로 배우는 스프링 웹 프로젝트 - Intermediate

강사님 코드 대로 로그인 처리 시 password가 null 이라 로그인 실패 합니다 <security:authentication-manager> <security:authentication-provider user-service-ref="myUserDetailsService"> </security:authentication-provider> </security:authentication-manager> 결국 검색을 통해 <security:authentication-manager> <security:authentication-provider user-service-ref="customUserDetailsService"> <!-- PasswordEncoder 추가 --> <security:password-encoder ref="passwordEncoder" /> </security:authentication-provider> </security:authentication-manager> 안에 코드를 추가하니 정상으로 로그인 처리가 되었습니다 의문점은 왜 강사님은 저 코드를 추가 하지 않아도 정상 적으로 로그인이 되는 건지 궁금합니다 제가 빠뜨린 코드가 있나 전부 체크를 해보았는데 그런 부분은 없었습니다

  • jsp
  • spring
  • xml
  • spring-security
  • ajax
  • mybatis
IGOR 댓글 2 좋아요 0 조회수 269

DIP, OCP

미해결

스프링 핵심 원리 - 기본편

[질문 내용] 관심사의 분리 영상에서 김영한 강사님께서 DIP를 지킨 것을 강조하고 있는데 제가 보았을 때는 DIP도 지키고 OCP도 지켜진 것을 확인하였습니다. 그러나 OCP도 지켰다는 것은 왜 얘기를 안 하시는지 궁금합니다.

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

memberForm 질문

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 저는 memberForm을 생성해서 뷰로 전송 -> 뷰에서 memberForm을 setter로 채움 -> 채운 memberForm을 post요청에 함께 전송 으로 이해했습니다. 근데 create에서 받은 memberForm하고 createForm에서 받은 memberForm하고 다른 객체로 나옵니다. 어디 부분이 잘못됐는지 알고싶습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
집이좋아 댓글 2 좋아요 0 조회수 315

ReteDiscountPolicy의 discount 메소드 블록

미해결

스프링 핵심 원리 - 기본편

[질문 내용] 4분 50초 쯤에 할인계산하는 코드에서 return price * discountPercent / 100 부분을 저는 return price / discountPercent라고 하였는데 두 개 다 계산으로는 모두 같은 값이 나오는데 return price / discountPercent 이렇게 해도 상관없죠?

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

타입 컨버터 질문있습니다.

미해결

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

안녕하세요. 앞선 강의에서 @RequestParam, @ModelAttribute, @RequestBody, HttpEntity 같이 컨트롤러에서 다양한 파라미터를 사용할 수 있는 이유가 ArgumentResolver 때문이라고 배웠습니다. 이 중에 @RequestBody와 HttpEntity를 처리하는 ArgumentResolver에서 Http 메시지 컨버터를 사용한다고 했는데 이 Http 메시지 컨버터가 타입 컨버터인건가요? 또 @ModelAttibute, @RequestParam을 처리한는 ArgumentResovler는 DataBinder을 사용하는 것 같던데 이번 강의에서는 타입 컨버터를 사용하는 것 처럼 이야기를 하셔서 헷갈리네요..

  • spring
  • mvc
eoyeong 댓글 1 좋아요 1 조회수 167

강의중에 하신 말씀이 궁금합니다. "우리가 직접 의존관계를 주입..."

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

안녕하세요. 강사님 트랜잭션 문제해결 - 트랜잭션AOP적용 강의에서 하신 말씀에 질문이 있습니다. 07:20 이후에 나옵니다. "물론 우리가 직접 의존관계를 주입해서 써도 되고요" 라는 말씀이 궁금합니다. 기본편에서 열심히 공부했던 개념이 나오는데요. 스프링빈 구성방식 직접호출(@Configuration, @Bean) 자동호출(@ComponentScan, @Component) 강의에서 DataSource와 TxManager를 빈등록하는 방법으로 위 1번방식으로 진행했습니다. Proxy는 DataSource와 TxManager빈을 2번방식으로 주입받아서 진행된다고 설명하셨습니다. @Component public class TransactionProxy { private MemberService target; public void logic() { //트랜잭션 시작 TransactionStatus status = transactionManager.getTransaction(..); try { //실제 대상 호출 target.logic(); transactionManager.commit(status); //성공시 커밋 } catch (Exception e) { transactionManager.rollback(status); //실패시 롤백 throw new IllegalStateException(e); } } } 이후에 아래코드와 같이 1번 방식으로 직접 등록을 하려고 할 때, 의존관계를 직접주입해도 좋다라 말씀주신것 같습니다. (강의중 말씀: "물론 우리가 직접 의존관계를 주입해서 써도 되고요") //@Component 자동빈등록하지 않을거고 설정클래스에서 직접 수동등록할 예정 public class TransactionProxy { private MemberService target; public void logic() { //트랜잭션 시작 TransactionStatus status = transactionManager.getTransaction(..); try { //실제 대상 호출 target.logic(); transactionManager.commit(status); //성공시 커밋 } catch (Exception e) { transactionManager.rollback(status); //실패시 롤백 throw new IllegalStateException(e); } } } @TestConfiguration static class TestConfig { @Bean DataSource dataSource() { return new DriverManagerDataSource(URL, USERNAME, PASSWORD); } @Bean PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } @Bean TransactionProxy txProxy() { return new TransactionProxy(transactionManager()); } }

  • spring
  • mvc
  • spring-jdbc
창신동 장첸 댓글 2 좋아요 0 조회수 167

중복 회원 예외 테스트를 Junit5버전으로 맞게 수정된건지 궁금합니다.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @Test public void 중복_회원_예외() throws Exception{ //given Member member1= new Member(); member1.setName("kim"); Member member2= new Member(); member2.setName("kim"); //when memberService.join(member1); //then assertThrows(IllegalStateException.class,()->{ memberService.join(member1); }); } 중복 회원 예외 테스트에서 Junit5에선 @Test(expected)를 지원하지 않는 것 같아 assertThrows를 사용하는 방식으로 변경해야한다고 하여 변경했는데 올바른 방법인지 궁금합니다. (변경한 방식으로 테스트 케이스는 통과는 하였습니다.)

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
장수영 댓글 1 좋아요 0 조회수 682

영속성 객체 구분으로 인한 JPA와 Querydsl의 Projection 사용

미해결

Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트

지금은 간단한 예제라 엔티티에서 JpaRepository를 사용하여 데이터를 가공해서 가져온 후 도메인 객체로 매핑시켜 controller에 넘겨 controller에서 response 객체로 변환시켰습니다. 만약 Projection을 사용하는 경우 Projection에서 바로 controller 패키지 안의 response 패키지 객체로 접근하는 것은 어떻게 생각하시나요?

  • spring
  • tdd
  • jpa
  • 소프트웨어-테스트
  • unittest
캄캄한인생 댓글 1 좋아요 0 조회수 237

인기 태그

인프런 TOP Writers

주간 인기글