inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

MemberServiceImpl 에서 싱글톤이 2개 발견했다하는데

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) escription: Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined in file [/Users/root1/Documents/java/core/out/production/classes/hello/core/member/MemoryMemberRepository.class] - memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class] 웹설치하고 이런 오류가 뜨네요 AppConfig @Configuration public class AppConfig { @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPolicy(){ // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } } public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.

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

빈 생성 로그 출력

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 자료에 있는 내용처럼 로그백 파일을 설정해주면 빈 생성 관련 로그가 잘 출력되는데 로그백 파일을 사용하지 않고 application.properties 파일에 logging.level.root=DEBUG logging.level.org.springframework=DEBUG logging.level.org.springframework.beans=DEBUG 이런 식으로 설정을 했는데 빈 생성 로그가 출력되지 않습니다. 원인이 무엇인가요

  • spring
  • 객체지향
hj 댓글 2 좋아요 0 조회수 518

기본형과 참조형 문제와 풀이 마지막 문제

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 18,20줄에 nextInt()를 두 번 사용하면 버퍼에 \n\n줄바꿈 문자 2개가 남게되고, 이후에 21줄에서 nextLine()을 통해 입력 버퍼를 비운다고 했는데, nextLine()은 \n 하나만 처리하는거 아닌가요? 그렇게 되면 버퍼에 \n이 하나 남게되고, 순회(int i = 1)할 때, 다음 16줄의 nextLine()에서 \n을 처리하여 빈 문자열(" ")을 반환하지 않나요? 그런데 이 코드를 돌려보면 nextInt()를 두 번 호출하고, nextLine()을 호출하면 \n\n 줄바꿈 문자 2개를 연속으로 버퍼에서 처리되었는데 그 이유가 무엇인가요?

  • java
  • 객체지향
andrea bocelli 댓글 1 좋아요 0 조회수 193

ReentrantLock과 sleep()에 대해 질문 있습니다.

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

ReentrantLock 사용시 쓸 수 있는 락이 여러 개 있는지 아니면 하나만 쓸 수 있는지 궁금합니다. Object의 wait() 사용 시 스레드가 스레드 대기 공간에서 기다리는 것처럼 sleep() 같은 경우도 따로 대기하는 공간이 있는지 궁금합니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
감바스 댓글 1 좋아요 0 조회수 179

equals 설계가 이해가 어렵습니다

미해결

김영한의 실전 자바 - 중급 1편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] equals는 매개변수를 받으면 -> User2 클래스로 변환 (다운캐스팅) -> 만들어진 User2객체에서 id 추출 -> 그걸 User2 id와 비교 정리하면 들어온 Object를 User2로 바꾸어 id를 확인하는 메서드인데 User2를 User2로 다운캐스팅하여 User2와 비교 후 User1 과 비교하는 로직 아닌가요? 어느부분이 잘못된건지 모르겠습니다ㅜㅜ

  • java
  • 객체지향
댓글 2 좋아요 0 조회수 233

다형성을통한 중복 해결시도 - 잘못된 타입의 인수쪽 질문

해결됨

김영한의 실전 자바 - 중급 2편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 강의를 듣다가 질문이 생겨서 질문을 남깁니다. 마지막에서 잘못된 타입의 인수를 전달할 때 해결 방법으로 instance-of가 생각나더라고요. 근데 이 방법이 있어도 안 한 이유가, IntegrBox랑 ObjectBox랑 대조 설명 하시면서, 코드의 재사용성, 코드의 안정성을 말씀하시던데, instance-of를 하게 되면(클래스를 만들든 메서드로 만들든) 타입마다 계속 비교해서 코드가 한없이 길어지기 때문에, 코드의 재사용X 이기 때문에 안 하신건가요? 추가1 아니면 다른 이유가 있는 것 인가요? 답변 부탁 드립니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
생각하는자 댓글 2 좋아요 0 조회수 179

ReentrantLock 과 Condition 에 대해 질문 있습니다.

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

public class BoundedQueueV4 implements BoundedQueue { private final Lock lock = new ReentrantLock(); private final Condition condition = lock.newCondition(); private final Queue<String> queue = new ArrayDeque<>(); private final int max; public BoundedQueueV4(int max) { this.max = max; } @Override public void put(String data) { lock.lock(); try { while (queue.size() == max) { log("[put] 큐가 가득 참, 생산자 대기"); try { condition.await(); log("[put] 생산자 깨어남"); } catch (InterruptedException e) { throw new RuntimeException(e); } } queue.offer(data); log("[put] 생산자 데이터 저장, notify() 호출"); condition.signal(); } finally { lock.unlock(); } } @Override public String take() { lock.lock(); try { while (queue.isEmpty()) { log("[take] 큐에 데이터가 없음, 소비자 대기"); try { condition.await(); log("[take] 소비자 깨어남"); } catch (InterruptedException e) { throw new RuntimeException(e); } } String data = queue.poll(); log("[take] 소비자 데이터 획득, notify() 호출"); condition.signal(); return data; } finally { lock.unlock(); } } @Override public String toString() { return queue.toString(); } } synchronized를 사용 했을때는 객체가 기본적으로 가지고 있는 락과 스레드 대기 공간을 사용하는거 같습니다. 궁금한점은 ReentrantLock 객체를 생성하고 Condition 객체를 생성하면 BoundedQueueV4 내부에 또 다른 락과 스레드 대기 공간이 생성 되는건가요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
감바스 댓글 2 좋아요 0 조회수 274

멤버B의 주소 바꿔주는 방법에 관한 질문

미해결

김영한의 실전 자바 - 중급 1편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의중에 나온 이부분에 관해 질문이 있습니다. memberB.getAddress().setValue("부산"); memberB.setAddress(new ImmutableAddress("부산")); 여기서, 멤버B의 주소를 바꿔 줄때, memberB.getAddress().setValue("부산"); 를 하셨는데, 그냥 memberB.setValue("부산"); 라고 하면 안돼는 이유가 무엇인지 너무 궁금 합니다

  • java
  • 객체지향
dizzydimm 댓글 4 좋아요 0 조회수 268

어떤건 String.join이고 어떤건 str.split이렇게 하는데 어떻게 외우나요

미해결

김영한의 실전 자바 - 중급 1편

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 자바 코테 준비하는데 위 함수들을 외우는 꿀팁같은거 없나요?

  • java
  • 객체지향
박준형 댓글 2 좋아요 0 조회수 177

정적 팩토리 메소드 사용 이유

미해결

Readable Code: 읽기 좋은 코드를 작성하는 사고법

강의를 듣다가 갑자기 드는 질문이 있습니다. 생성자를 private로 감추고 정적 팩토리 메소드를 사용해서 of나 from 이런식으로 만드시는데 왜 이렇게 하시는지 궁금합니다. 정적 팩토리 메서드는 메서드 이름을 통해 생성의 의도를 명확히 전달할 수 있다고 하는데, 이것말고 또 사용 이유가 있으실까요 ??

  • 객체지향
  • 리팩토링
  • 클린코드-기획전
돈벌고싶다 댓글 2 좋아요 1 조회수 370

클래스 객체에 대해서 궁금한 것이 있습니다.

미해결

나도코딩의 자바 기본편 - 풀코스 (20시간)

클래스 객체 사용 X 클래스 객체 사용 O 먼저 결론적으로 말씀드리면 제품의 정보를 일일이 정의한 것과 클래스 객체를 통해 코드를 작성한 것의 차이를 잘 모르겠습니다. 제가 챕터 7의 1번째 강의를 중에서 블랙박스의 정보는 이보다 실제로 많기 때문에 이 모든 것을 일일이 정의한다면 코드가 방대해 진다고 들었습니다. 그런데 제가 실습하고 나서 코드를 살펴보니 클래스 객체에 대한 필요성을 느끼지 못하였습니다. 알려주신다면 감사하겠습니다.

  • java
  • 객체지향
장동철 댓글 2 좋아요 0 조회수 173

notify() 호출 후의 상황에 대해 질문 있습니다.

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

@Override public synchronized void put(String data) { while (queue.size() == max) { log("[put] 큐가 가득 참, 생산자 대기"); try { wait(); // RUNNABLE -> WAITING, 락 반납 log("[put] 생산자 깨어남"); } catch (InterruptedException e) { throw new RuntimeException(e); } } queue.offer(data); log("[put] 생산자 데이터 저장, notify() 호출"); notify(); // 대기 스레드, WAIT -> BLOCKED } 생산자 스레드가 먼저 실행되면 마지막 스레드는 wait() 호출 후 스레드 대기 집합에서 관리 되는걸로 이해했습니다. 이 상태에서 소비자 스레드가 실행되면 데이터를 처리하고 마지막에 notify()를 호출하면 스레드 대기 집합에서 관리 되던 생산자 스레드가 깨어날텐대 여기서 wait(); 바로 다음 코드를 실행하지 않고 바로 BLOCKED 상태가 되는건가요? BLOCKED 상태에 있다가 소비자 스레드가 락을 반납 했을때 BLOCKED 상태가 풀리면서 wait() 바로 다음 코드를 실행한다고 이해하면 될까요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
감바스 댓글 2 좋아요 1 조회수 203

@PostConstruct 사용시 @ComponentScan 으로 구현

미해결

스프링 핵심 원리 - 기본편

1. 강의 내용과 관련된 질문인가요?예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의에서 @Configuration 과 @Bean을 사용하여 초기화, 소멸 라이프사이클을 보았는데 강의에선 구현하진 않았지만 @ComponentScan으로 사용해보고 싶어서 NetworkClient에 @Component를 달고 LifeCycleConfig를 @ComponentScan 을 달아 사용해볼려고하였습니다. 근데 AnnotationConfigApplicationContext 사용하여 빈등록할시 저희가 의도했던 @PostConstruct 시점이 setUrl하기전에 불러와지는거같아 Null 값이 나오는데 ComponentScan사용시 setUrl 위치나 타이밍을 알고싶습니다

  • spring
  • 객체지향
김태언 댓글 1 좋아요 0 조회수 124

급히 자바, 스프링부트를 실무에 사용해야한다면

미해결

김영한의 실전 자바 - 기본편

안녕하세요 실무에서 자바, 스프링부트 를 하게된 프론트엔드 개발자입니다. 급히 자바, 스프링을 막듣고있는데 로드맵을 물론 다들으면좋겟지만 너무많고, 실무에서 사용이필요해서 혹시 꼭들어야한다면 몇가지 추려서 추천해주실강의들이있나요 ? 지금 자바 입문, 기본, 중급1 듣고있습니다.

  • java
  • 객체지향
qwer12323 댓글 2 좋아요 0 조회수 144

result = pay.pay(amount); 이건 할당하는 코드가 아닌가요?

미해결

김영한의 실전 자바 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] result에 할당후 실행 하는 코드가 없는데 바로 pay.pay 가 실행되는 원리를 모르겠습니다.. 아니면 원래 할당과 실행이 동시에 일어나는건가요?

  • java
  • 객체지향
ssseo215 댓글 2 좋아요 0 조회수 183

oracle jdk 23

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

oracle jdk 23을 설치하여 사용중입니다. 강의따라가는데 크게 문제 없을까요??

  • java
  • 객체지향
peter 댓글 2 좋아요 0 조회수 511

생성한 java-start 프로젝트가 프로젝트 폴더에 보이지 않아요

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

강사님의 말에 맞춰 java-start 프로젝트를 생성하였습니다만 아래 그림과 같이 프로젝트 폴더에 External Libraries와 Scratches and Consoles만 보이고 java-start 프로젝트가 보이지 않게 됐습니다. 어떻게 해결할 수 있을까요? 프로젝트 생성 시 설정은 다음과 같습니다: Build System: IntelliJ JDK: 18 Oracle OpenJDK 18.0.1 - aarch64 (M1 Mac입니다)

  • java
  • 객체지향
Junseo Yun 댓글 3 좋아요 0 조회수 388

게터

미해결

Readable Code: 읽기 좋은 코드를 작성하는 사고법

안녕하세요 강의 잘 보고 있습니다 게터에 대해 질문이 있어서 그런데 그럼 선생님께서는 실무에서 @Getter은 사용하지 않으시고 필드 하나하나 9분 36초처럼 수동으로 다 만드시나요?? 안쓰자니 코드의 양이 많아지고 쓰자니 코드의 양이 많아져 약간?은 복잡해 질 수도 있고... 감사합니다.

  • 객체지향
  • 리팩토링
  • 클린코드-기획전
wnsqud70 댓글 2 좋아요 0 조회수 222

스프링 핵심원리 기본편 프로그램 Source Down 문의

해결됨

스프링 핵심 원리 - 기본편

안녕하세요.. 스프링핵심원리 기본편 학습중 입니다. 강의자료에 PDF 파일은 제공이 되는데 프로그램 Source 는 제공이 되지 않나요 ? 프로그램 Source 는 다운 받을수 없나요 ? 확인 부탁드려요. 감사합니다.

  • spring
  • 객체지향
이민영 댓글 2 좋아요 0 조회수 126

@Component 달때 rateDiscountPolicy에는 안다는이유

미해결

스프링 핵심 원리 - 기본편

1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) ㅇ [질문 내용] @Component 어노테이션사용하여 자동 빈등록을할때 8:30에서 설명하듯이 rateDiscountPolicy에는 @Component는 달고 fixDiscountPolicy 클래스에는 안다는 이유가 궁금합니다. 빈을 등록할때 fix와 rate중 사용할려는 정책은 rat이기때문에 중복해서 빈으로 등록하지않는거라고 생각하면될까요? 추후 fix로도 쓸수있을텐데 빈으로 등록안하는 이유가 궁금합니다

  • spring
  • 객체지향
김태언 댓글 1 좋아요 0 조회수 208

인기 태그

인프런 TOP Writers

주간 인기글