묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
롬복과 최신 트렌드 build.gradle
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]build.gradle 에 롬복 디펜던시 복사해서 붙여넣기 하고싶은데 어디서 복사할수있는지 강의자료가 안보여서요... 어디서 복사할수있을까요???
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
RunWith
프로젝트 생성부분의 마지막 강의 수강중이고, 위와 같이 코드를 작성했을 때 다음과 같은 오류가 납니다https://drive.google.com/file/d/1g1uPQj8hZvNmWr3u9NBwMTuI_NOZWSKC/view?usp=sharing프로젝트 파일도 같이 첨부합니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
PathVariable에 Null이 들어오는 것 같습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네[질문 내용]여기에 질문 내용을 남겨주세요.상품 수정하기를 눌렀을 때 에러코드 500이 나오고 IllegalArgumentException: Input cannot be null 에러가 나옵니다.PathVariable("itemId")로 명시적으로 지정해 주었는데도 null이 들어가는 것 같은데 해결을 못하겠습니다. 코드는 원래 파일에서 건든 것이 없고 심지어 강의 자료에 있는 코드 파일 그대로 복사 붙여넣기 해도 똑같은 에러가 나옵니다..
-
미해결스프링 핵심 원리 - 기본편
특정 타입 모두 조회expected: 2 but was: 1 Expected :2 Actual :1
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]특정 타입을 모두 조회하기 할때expected: 2 but was: 1에러가 뜨고, ac.getBeansOfType 자동완성이 안되는 것도 있습니다. 왜그러죠package hello.core.beanfind; import hello.core.discount.DiscountPolicy; import hello.core.member.MemberRepository; import hello.core.member.MemoryMemberRepository; import hello.core.order.AppConfig; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.NoUniqueBeanDefinitionException; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; public class ApplicationContextSameBeanFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("타입으로 조회시 같은 타입이 둘 이상 있으면 중복 오류가 발생한다.") void findBeanTypeDuplicate() { // 이렇게 해서 돌려보면 멤버 리포지터리를 조회하면 두개가 튀어나오면서 예외가 ㅓ지게 된다. No Unique에러 assertThrows(NoUniqueBeanDefinitionException.class, () -> ac.getBean(MemberRepository.class)); // assertThrows + 람다식 예외가 터져야 테스트 통과 되게 } @Test @DisplayName("타입으로 조회시 같은 타입이 둘 이상 있으면, 빈 이름을 지정하면 된다") void findBeanByName() { MemberRepository memberRepository = ac.getBean("memberRepository1", MemberRepository.class); assertThat(memberRepository).isInstanceOf(MemberRepository.class); } @Test @DisplayName("타입으로 조회시 같은 타입이 둘 이상 있으면, 빈 이름을 저장한다.") void findAllBeanType() {// ctrl + shift + enter 바로 코드 컴플리션으로 넘어 감 Map<String, MemberRepository> beansOfType = ac.getBeansOfType(MemberRepository.class); for (String key : beansOfType.keySet()) { System.out.println("key = " + key + " value = " + beansOfType.get(key)); } System.out.println("beansOfType = " + beansOfType); assertThat(beansOfType.size()).isEqualTo(2); } // 그냥 이 클래스 안에다가 메서드 생성 // static 쓰면 장점 클래스안에서만 쓰겠다는 뜻 이안에다가 컨피그 만듦 @Configuration static class SameBeanConfig { // 다른 파라미터로 빈 생성 가능 // 빈의 이름이 다를 수 있고 클래스, 객체 타입이 같을수 있다 @Bean public MemberRepository memberRepository1(){ return new MemoryMemberRepository(); } @Bean public MemberRepository memberRepository2(){ return new MemoryMemberRepository(); } } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
.ifPresent 사용법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]멤버 삭제 기능을 만들려고 하는데 이렇게 하는게 맞을까요?한개의 멤버만 받아서 삭제하고 싶은데 어떻게 처리해야 할까요? public boolean deleteProduct(String productName){ List<Product> result = em.createQuery("select p from Product p where p.productName = :productName", Product.class) .setParameter("productName", productName) .getResultList(); return true; } getResultList 로 하니까 여러개 나올거 같은데 한개만 삭제하려면 어떻게 해야 하나요? 그리고 em.remove하면 되나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
이름에 유니크 제약 조건을 거는 것
[질문 내용]강의에서 회원의 이름으로 중복된 계정을 검증하고, DB에서 회원의 이름을 Unique 제약 조건으로 잡는 게 좋다고 하셨는데이건 이 예제에서의 가정인 거고, 현업에선 이름만으로 중복 계정을 검증하거나, 이름에 유니크 제약 조건을 거는 경우는 거의 없다고 봐도 되나요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
강의 14분쯤 Exception 질문
[질문 내용]안녕하세요. 강의 14분쯤에,@Test 부분에서 .isInstanceOf(SQLException.class)를 했을 때, 테스트가 성공하는 이유가 궁금합니다.저는 ConnectException과 SQLException이 서로 관련이 없는 Exception이기 때문에 테스트가 실패해야 한다고 생각했습니다.혹시 Service의 logic()에서 repository.call()이 호출 될 때 SQLException이 터지고, 그로 인해서 networkClient.call()은 실행되지 않고 끝나기 때문에 테스트가 성공하는건가요?
-
미해결스프링 핵심 원리 - 고급편
강의 오타인가요?
atTarget 메소드와 atWithin 메소드에서@target(hello.aop.member.annotation.ClassAop) 이부분이 오타인거같은데요??child 란 내부클래스는 hello.aop.pointcut.AtTargetAtWithinTest.Child 이런 패키지에있는데 이게맞는건가요?
-
미해결스프링 핵심 원리 - 기본편
스프링빈중복등록을 막기위해 이름을 바꿔주어도 해결이 안됩니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.FixDiscountPolicy,RateDiscountPolicy 클래스 앞에 둘다 @Component를 붙여서 OrderServiceImpl을 구현할때 생성자파라미터에 DiscountPolicy discountPolicy에서 이름을 DiscountPolicy rateDiscountPolicy로 바꾸어 주었고 아래도this.discountPolicy = rateDiscountPolicy;로 바꾸어주었는데도 위와 같이 에러가 나옵니다.
-
미해결자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
spring mvc project 안뜸...
우선, 강의 정말 잘 듣고 있습니다. 독학하는 저에게 큰 도움이 되네요. 좋은 강의 감사합니다.강의를 보며 실습을 진행하던 도중, 여러가지 에러들이 있었지만, 구글링을 통해 해결하였습니다.근데 이건 도저히 해결이 안되네요...spring legacy project에서 MVC 프로젝트가 나타나지 않습니다.eclipse, java 둘다 재설치도 해보았고, spring tools도 재설치 해보았습니다. 재설치한 자바입니다.eclipse는 2025-03이고tomcat은 v8.5 입니다.
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
1.5 spring web 개발 환경 세팅 에러
안녕하세요:)현재까지 개발 툴들 설치하면서 겪었던 문제들은 구글링으로 해결이 되었었는데, 스프링 환경을 정해진 기준으로 하다보니 검색결과도 없어 진전이 되고 있지 않은 상황입니다.아래 에러 사항에 대한 적용 가능 방안에 대해 답해주시면 감사하겠습니다.교재 상 7번에서 finish를 눌러 설치를 기다렸는데 다음과 같은 오류가 발생하였습니다[ERROR] Failed to execute goal [32morg.apache.maven.plugins:maven-archetype-plugin:3.3.1:generate[m [1m(default-cli)[m on project [36mstandalone-pom[m: [1;31mThe desired archetype does not exist (com.nexacro.archetype:uiadapter-spring-sample-archetype:1.0.1-20220603.053230-4)[m -> [1m[Help 1][m아래 사항들을 시도해보았습니다.이클립스 워크스페이스 재설치xml url 접속 시 문제없이 접속됨이클립스 웹 개발 환경 설정은 처음이라ㅜ 또 어떤 것들을 시도해보거나 테스트해보면 될 지 의견 주시면 감사하겠습니다!
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
스프링 DB2편 강의 듣는 JPAQueryFactory에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오예알려주신대로 그리고 강의파일에 있는대로 buil.gradle파이 ㄹ옵션도 따라했는데 에러가 발생합니다방법을 알려주세요 매번 강의를 들을 때마다 강의보다 설정하는데 시간이 너무 오래 걸리고 힘듭니다 도와주세요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Springdatamemberrepository
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요혹시 강사님 코드를 복붙해도 이상태인데 왜 이러는걸까요ㅠㅠ 저 springdpa말고는 다 작동 되었습니다!.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
memberId 맴버변수를 String 으로 잡은 이유
도메인의 Member 클래스 의 memberId 맴벼변수 타입이 String인 이유가 궁금합니다 jbdc에 대표 id 등록은 숫자형 타입이 아닌 문자형으로 해야 하는지 궁금합니다
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
csrf 토큰 생성 시점 및 방식에 대하여
강의 내용 중에 POST 와 같이 데이터를 변경하는 요청의 경우 csrf 토큰을 생성한다는 내용이 있는데 로그인 페이지 요청시 GET 으로 요청하는데 csrf 토큰이 input 태그에 포함되어 있는 걸로 보아 POST 와 같이 데이터틀 변경하는 요청의 경우 csrf 토큰을 생성하는 게 아니라 csrf 토큰을 검증하는 것이고, csrf 토큰은 모든 요청에 대해 반환해준다가 맞을까요? 또 csrf 토큰이 난수를 조합해 계속 변경해서 클라이언트에 반환한다고 들었는데제가 잘못 본 건지 모르겠지만 토큰을 디코딩할 때난수를 조합하는 코드를 보면 토큰의 길이로 난수를 만드는 것 같은데,토큰의 길이로 난수를 만든다고 하면토큰을 변하게 하지 않는 이상 인코딩된 토큰의 결과가 똑같을 것 같거든요. 그래서 세션당 고유 토큰 값은 똑같다고 한다면로그인 전에는 클라이언트에 반환하는 토큰이계속 바뀌고 (=익명 사용자 세션이니)로그인 이후에는 클라이언트에 반환하는 토큰이 일정한 게 아닐까 하는 물음이 생겼습니다.어느게 맞는 걸까요 ?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
오라클 사용시 GeneratedValue Strategy 지정방법..
안녕하세요오라클과 jpa를 사용중인데요..엔터티에서 id 지정할 때 .generatedValue.identity 옵션이 적용이 불가합니다그래서 auto나 다른 옵션으로 주면 테이블의 아이디값이 무작위로 나오는거 같은데요mysql처럼 1부터 순서대로 나오게 하고 싶으면 어떻게 해야 할까요?.. 아시는 분은 답변 주시면 감사하겠습니다
-
미해결3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
1강 HTTP 상태 404 에러
이클립스에서 NEW -> Egovframe web project 로 실행 후,jre system library 가 빠지고 설치됩니다. 프로젝트 - properties - java build path -add library 를 통해 추가함으로써,폴더에 x표시는 사라졌습니다. 하지만 이후 서버 실행시 404 에러가 뜹니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
전부 단방향으로 구현해도 괜찮을까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]야생형 로드맵 따라서 현재 활용 1편을 듣고 있습니다. 지금 팀 프로젝트 중이고 기본 편의 이론은 제대로 배우지 못했어서 이론을 정확히 알진 않습니다. 그런데 연관 관계 매핑할 때 전부 단방향으로 구현하는 것도 가능할까요? 양방향으로 구현하게 되면 연관 관계 메서드 만들 때 setter나 Builder 등을 쓰게 될 거 같은데, 단방향으로 구현하게 되면 그런 걸 신경 쓰지 않아도 될 것 같다는 생각이 듭니다. 물론 장단점이 있겠지만, 전부 단방향으로 구현해도 큰 상관이 없다면 일단 전부 단방향으로 구현해 보고, 나중에 양방향에 대해 제대로 공부하고 그때부터 단방향, 양방향을 고민해 볼까 하는데.. 단방향으로만 구현하는 게 문제가 될 수 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
왜 강의에서deliveryRepository 는 안만들었을까요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 그냥 영한님의 생각이 궁금합니다。 저도 나중에 개발을 할텐데、어떤건 Repository가있고、 어떤건 Repository없고、。。궁금합니다¡
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
saveAll() 내부에 save()도 내부호출인 건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]그 트랜잭션 전파에 대해서 공부하다가 궁금증이 생겼는데JpaRepository의 구현체인 SimpleJpaRepository에서 saveAll() 메서드도 내부에서 save()메서드를 호출하잖아요?그러면 이때 호출되는 save()메서드도 내부호출이니까 @Transactional이 적용이 안되는 건가요?풀어서 말하자면saveAll()이 호출될때 @Transactional로 트랜잭션이 시작됨saveAll() 내부에서 save() 메서드를 호출하지만 내부호출이므로 트랜잭션 전파가 아닌 그냥 save()메서드가 호출됨결과적으로는 트랜잭션이 saveAll() 호출시 하나만 시작되고 save()들은 내부호출이므로 트랜잭션 전파를 받는것이아닌 saveAll()이 호출될때 시작된 트랜잭션을 따름위와 같이 이해하는게 맞을까요?