inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Camera[]

미해결

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

강의를 보다보면 Camera[] cameras = new Camera[3] 로 배열을 만들어 주셨는데 클래스 Camera와 배열의 Camera[]는 다른건가요?

  • java
  • 객체지향
jdna1009 댓글 2 좋아요 -1 조회수 358

5. 싱글톤 컨테이너 > @Configuration과 바이트코드 조작의 마법 > NoUniqueBeanDefinitionException

미해결

스프링 핵심 원리 - 기본편

5. 싱글톤 컨테이너 > @Configuration과 바이트코드 조작의 마법 진행 중, 최종 확인을 위해 java Run을 진행했을 때 NoUniqueBeanDefinitionException 오류가 나옵니다. 해당 프로젝트를 압축하여 다음 링크에 올려두었습니다. 확인 부탁드리겠습니다. 감사합니다. https://drive.google.com/file/d/1bmEbBnSeiU_y_vEvmizju_MUVcFVRwpw/view?usp=sharing 에러 로그 : No qualifying bean of type ' salt.core.discount .DiscountPolicy' available: expected single matching bean but found 2: rateDiscountPolicy,fixDiscountPolicy org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type ' salt.core.discount .DiscountPolicy' available: expected single matching bean but found 2: rateDiscountPolicy,fixDiscountPolicy

  • spring
  • 객체지향
쿠케캬캬 댓글 1 좋아요 1 조회수 275

기본편 - 프로젝트 생성 에러입니다 ㅠ

미해결

스프링 핵심 원리 - 기본편

오후 2:04:11: Executing ':CoreApplication.main()'... > Task :compileJava UP-TO-DATE > Task :processResources UP-TO-DATE > Task :classes UP-TO-DATE > Task :CoreApplication.main() . ____ _ /\\ / ___'_ __ ( _)_ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.12) 2023-06-01 14:04:14.123 INFO 8400 --- [ main] hello.core.CoreApplication : Starting CoreApplication using Java 11.0.18 on DESKTOP-NU98GMA with PID 8400 (C:\study\core\build\classes\java\main started by Lenovo in C:\study\core) 2023-06-01 14:04:14.126 INFO 8400 --- [ main] hello.core.CoreApplication : No active profile set, falling back to 1 default profile: "default" 2023-06-01 14:04:14.917 INFO 8400 --- [ main] hello.core.CoreApplication : Started CoreApplication in 1.443 seconds (JVM running for 2.169) Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. See https://docs.gradle.org/7.6.1/userguide/command_line_interface.html#sec:command_line_warnings BUILD SUCCESSFUL in 3s 3 actionable tasks: 1 executed, 2 up-to-date 오후 2:04:15: Execution finished ':CoreApplication.main()'. 이렇게 에러가 발생하는데 프로젝트 생성 어떻게 해야하나요 ㅠ

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

memberService에서 궁금한 점이 있습니다.

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] memberService 인터페이스에서 join(Member member)가 있는데, member 클래스 자체를 파라미터로 받는 것이 어떤 의미가 있는 것인지 궁금합니다.

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

클래스 메소드

미해결

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

(강이 내용중 클래스 메소드는 안에 있는 동작이 항상 똑같이 발생 한다고 하셨는데 ) 클래스 메소드도 호출해서 사용 하고 그냥 메소드도 호출해서 사용하는데 그러면 클래스 메소드 안에서 항상 작동하는 동작들을 그냥 메소드 안에 넣어주어서 사용하면 되는거 아닌가요?? 왜 굳이 클래스 메소드를 선언해서 사용하는지 이해가 안되네요

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

객체와 인스턴스의 차이

미해결

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

BlackBox bbox = new BlackBox(); 에서 BlackBox 클래스로부터 bbox 객체 생성 bbox 객체는 BlackBox 클래스의 인스턴스 라고 하셨는데 객체와 인스턴스가 무슨 차이가 있는지 이해가 안되네요..

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

특정 타입을 모두 조회하기 테스트에서 값이 1개만 나옴

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. @Test @DisplayName("특정 타입을 모두 조회하기") void findAllBeanByType() { 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); } @Configuration static class SameBeanConfig { //여기서 스태틱은 이 클래스에서만 사용하겠다는 뜻 @Bean public MemberRepository memberRepository1() { return new MemoryMemberRepository(); } @Bean public MemberRepository memberRepository2() { return new MemoryMemberRepository(); } } 이 코드에서 강사님은 2개의 값으로 테스트를 통과하는데 저는 key = MemberRepository value = hello.core.member.MemoryMemberRepository@68dc098b beansOfType = {MemberRepository=hello.core.member.MemoryMemberRepository@68dc098b} 이렇게 나와서 1개만 나와서 테스트를 실패해서요 지금 이전에 만든 MemoryMemberRepository를 보고 있는거 같은데 어떻게 SameBeanConfig를 보게 만들 수 있나요?

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

스프링부트 3.x 로그관련

해결됨

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 스프링 전환하기 4분 49초의 내용입니다. 현재 스프링부트 3. 버전으로 강의를 수강하고있는데 MemberApp을 실행하였을때 Spring에서 자동으로 만들어주는 Creating shard instance.. 부분 빈 생성로그가 뜨질 않습니다. 2.7버전으로 프로젝트를 생성하였을 경우 로그가 뜨는데 3.x버전으로도 뜨게 하는 설정은 없을까요?

  • spring
  • 객체지향
센스 댓글 2 좋아요 0 조회수 2302

다차원 배열 순회 관련 질문입니다.

미해결

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

System.out.println("------------"); // 세로크기 10 x 가로크기 15 영화관 자리ㅣ String[][] seats3 = new String[10][15]; String[] eng = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"}; for (int i = 0; i < seats3.length; i++) { //세로 for (int j = 0; j < seats3[i].length; j++) { //가로 seats3[i][j] = eng[i] + (j + 1); } } 이 부분에서 혹시 i < seats3.Length; 단순히 A부터 J까지 10개라서 10이되는건가요? 그리고 j < seats3[i] 는 어떤 원리로 15가 되는건지 궁금합니다.

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

[기본편]섹션2 - 회원 도메인 실행과 테스트

미해결

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 마지막에 의존관계가 인터페이스 뿐만 아니라 구현까지 모두 의존하는 문제점이 있다고 하셨는데, 인터페이스는 MemberRepository를 의미하고 구현의존은 MemoryMemberRepository를 말씀하신건가요? 그리고 '추상화에도 의존하고 구체화에도 의존함'이라고 하셨는데 이건 어떤 의미일까요?

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

회원등급이 추가되면 OCP 위반인가요?

미해결

스프링 핵심 원리 - 기본편

안녕하세요! 문득 궁금증이 생겨서 질문합니다. 예제에서는 Basic, VIP 이렇게 2개의 회원등급이 enum에 존재하고 DiscountPolicy 구현클래스는 각 등급에 따른 분기로 할인정도를 조절합니다. (VIP의 경우 10%할인, 1000원 할인) 만약 회원등급이 추가된다면 DiscountPolicy 구현클래스의 코드를 모두 수정해야 하는데, 이 경우 OCP위반이라고 하나요? 아니면 어쩔 수 없는 비즈니스 로직이 변경된 경우인가요?

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

DiscountPolicy 동적으로 의존성 변경

해결됨

스프링 핵심 원리 - 기본편

항상 좋은 강의, 감사히 보고 있습니다. 강의에서 AppConfig에서 DiscountPolicy를 FixDiscountPolicy로 고정합니다. 만약 상황에 따라 정률, 정액할인 정책을 동적으로 적용한다고 한다면 어떤식으로 설계하면 좋을까요? 쿠폰에 따라 할인정책이 달라지는 경우 어떻게 해야 될까요..?

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

5. 싱글톤 컨테이너 > @Configuration과 싱글톤 > 참조값 문의

미해결

스프링 핵심 원리 - 기본편

아래 코드 실행 시 print해주는 참조값이 셋 다 같아야 하는데 모두 각각 다릅니다. 어떤 부분 때문에 실습 영상에서는 같게 나온 세 참조값이 모두 다르게 나왔는지 원인 파악 문의드립니다. 해당 프로젝트 실습 링크는 다음과 같습니다. https://drive.google.com/file/d/1bmEbBnSeiU_y_vEvmizju_MUVcFVRwpw/view?usp=sharing package salt.core.singleton; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import salt.core.AppConfig; import salt.core.member.MemberRepository; import salt.core.member.MemberServiceImpl; import salt.core.order.OrderServiceImpl; import static org.assertj.core.api.Assertions.*; public class ConfigurationSingletonTest { @Test void configurationTest() { ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); MemberServiceImpl memberService = ac.getBean("memberService", MemberServiceImpl.class); OrderServiceImpl orderService = ac.getBean("orderService", OrderServiceImpl.class); MemberRepository memberRepository = ac.getBean("memberRepository", MemberRepository.class); MemberRepository memberRepository1 = memberService.getMemberRepository(); MemberRepository memberRepository2 = orderService.getMemberRepository(); System.out.println("memberService -> memberRepository = " + memberRepository1); System.out.println("orderService -> memberRepository = " + memberRepository2); System.out.println("memberRepository = " + memberRepository); // assertThat(memberService.getMemberRepository()).isSameAs(memberRepository); // assertThat(orderService.getMemberRepository()).isSameAs(memberRepository); // 셋 다 같아야 하는데 셋 다 참조가 다름 // memberService -> memberRepository = salt.core.member.MemoryMemberRepository@5af5def9 // orderService -> memberRepository = salt.core.member.MemoryMemberRepository@3a45c42a // memberRepository = salt.core.member.MemoryMemberRepository@36dce7ed } }

  • spring
  • 객체지향
쿠케캬캬 댓글 1 좋아요 1 조회수 417

필드 주입 vs 생성자 주입

미해결

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 필드 주입으로 구현했을경우 테스트 코드 작성 시 유연하게 변경이 불가하다고 이해했습니다. 그렇다면 생성자 주입으로 구현했을경우 테스트 코드 작성 시 아래와 같이 의존관계를 유연하게 변경 가능하기 때문에 생성자 주입은 필드 주입의 단점을 보완 가능한 것이 맞을까요? // 생성자 주입으로 DI 주입 void fieldInjectionTest() { OrderServiceImpl orderService = new OrderServiceImpl(new JpaRepository, new RateDiscountPolicy); orderService.createOrder(1L, "itemA", 20000); }

  • spring
  • 객체지향
jadenswith 댓글 1 좋아요 1 조회수 437

스프링핵심원리이해2-객체지향원리적용 편 질문

미해결

스프링 핵심 원리 - 기본편

회원관리(가입,조회) 서비스, 주문서비스(할인, 주문)(OrderServiceImpl)에서 역할을 담당하는 인터페이스를 바라보게 해야하는데, 현재코드는 구현체도 바라보게 했다는 점에서 코드의 수정이 필요하다는 강사님 말씀은 이해가 됩니다! 다만, 여기서 강사님 표현으로 '클라이언트'코드도 수정이 이루어져야 한다고 말씀하셨는데, 클라이언트코드라는 용어가 조금 혼동이 됩니다. 클라이언트 코드에 대해서 설명 한번 부탁드립니다!

  • spring
  • 객체지향
홍승현 댓글 1 좋아요 0 조회수 220

스프링컨테이너의 동작 순서와 autowired어노테이션

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 1 . 컴퍼넌트 스캔 및 autowired어노테이션을 사용할 때 스프링컨테이너 파라미터로 넘겨진 설정클래스의 컴퍼넌트스캔 어노테이션을 통해 스프링 컨테이너가 컴퍼넌트가 붙은 클래스를 빈으로 모두 등록한 후에 스프링컨테이너가 의존관계주입을 하는 단계에서 autowired를 통해 의존관계주입을 하자나요 근데 스프링컨테이너가 이 autowired어노테이션을 어떤식으로 찾는건가요? 2 . 스프링컨테이너는 빈을 다 등록한 후에 의존관계주입이 이루어진다하셨는데 memberSerivceImpl 랑 orderServiceImpl의 의존관계주입을 둘 다 수정자방식으로 autowired어노테이션을 붙여서 수정자에다 모두 콘솔을 넣고(memberimpl의 수정자메서드에는 콘솔 1 order에는 콘솔2) 실행시켜봤는데 로그에 autoConfig rateDiscountPolicy memberServiceImpl memoryMemberRepository 1 orderServiceImpl 2 이런식으로 나오는데 위에 논리라면 1이 orderService까지 다 생성된후에 1이 나와야하는거 아닌가요?? 3 . 위랑 비슷한 예인데 수동(config,Bean)을 이용할때에도 원래는 스프링컨테이너가 빈을 다 등록한뒤에 의존성주입이 이루어진다고 하셨는데 이것저것 해봐서 로그를 봤는데 로그는 빈을 등록하면서 의존성주입에 필요한 빈을 등록하고 의존성주입이 이루어지는 방식으로 되던데 이것도 이해가 잘 안됩니다.

  • spring
  • 객체지향
권용준 댓글 1 좋아요 0 조회수 810

객체 생성 및 생성자 질문드립니다.

해결됨

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

안녕하세요 나도코딩님 선생님의 강의를 들으면서 모르는것들을 하나하나 곁가지 치듯이 검색하면서 알아보던 도중에 CHAT GPT에 인터페이스 관련으로 질문하면서 공부하다가 아래의 코드를 보게되었습니다. // 인터페이스 정의 public interface Drawable { void draw(); // 추상 메서드 선언 } // 인터페이스 구현 public class Circle implements Drawable { @Override public void draw() { System.out.println("원을 그립니다."); } } public class Rectangle implements Drawable { @Override public void draw() { System.out.println("사각형을 그립니다."); } } // 사용 예시 public class Main { public static void main(String[] args) { Drawable circle = new Circle(); circle.draw(); // "원을 그립니다." Drawable rectangle = new Rectangle(); rectangle.draw(); // "사각형을 그립니다." } } 여기서 제가 이해가 되지 않는 부분이 Drawable circle = new Circle(); 위의 부분인데요 객체를 생성할때에는 A a = new A(); 이처럼 작성하는걸로 알고있는데 왜 저기에서는 B a = new A(); 이런식으로 되어있는지 궁금합니다. 구글에 검색을 많이 해봤는데 이해가 안되더라구요 ㅠㅠ 답변 부탁드립니다!!

  • java
  • 객체지향
SHYU 댓글 1 좋아요 1 조회수 448

섹션3 < 객체의 속성은 이라는 강의에서 질문이요!!

미해결

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)

7분28초 부분에서 똑같이 실행했는데 저는 왜 안되는걸까요? 어디부분이 잘못되었을까요? ㅠㅠ

  • java
  • 객체지향
김현태 댓글 2 좋아요 0 조회수 477

스프링 빈에 DTO 클래스를 등록하는 경우도 있을까요?

해결됨

스프링 핵심 원리 - 기본편

현재 스프링 빈 싱글톤 방식 파트 강의를 수강 중입니다. 강의 중 싱글톤 방식의 문제점에 대해 아래와 같이 이해하였습니다. public class StatefulService { // private int price; // 상태를 유지하는 필드 public int order(String name, int price){ System.out.println("name = " + name + " price" + price); //this.price = price; //여기가 문제! return price; } // public int getPrice() { //// return price; // } } @Test void statiefulServicesingleton() { ApplicationContext ac = new AnnotationConfigApplicationContext(testConfig.class); StatefulService statefulService1 = ac.getBean(StatefulService.class); StatefulService statefulService2 = ac.getBean(StatefulService.class); //ThreadA : A사용자가 10000원 주문 //statefulService1.order("userA", 10000); int userAPrice =statefulService1.order("userA", 10000); //ThreadB : B사용자가 20000원 주문 //statefulService2.order("userB", 20000); int userBPrice =statefulService2.order("userA", 10000); //ThreadA : 사용자A가 주문 금액 조회 // int price = statefulService1.getPrice(); // 10000원 조회해야 하는데?? System.out.println("price = " + userAPrice); // Assertions.assertThat(statefulService1.getPrice()).isEqualTo(20000); Assertions.assertThat(userAPrice).isEqualTo(10000); } 스프링 빈에 등록된 인스턴스(StatefulService)에 공유필드(price)가 있는 경우, 추가로 참조하는 인스턴스(statefulService2)로 인해 값이 변경될 수 있고 큰 버그를 초래할 수 있다. 위와 같은 개념을 익히다보니 자연스럽게 DTO의 공유필드가 떠올랐습니다. 처음에는 DTO는 일반적으로 필드를 사용하니 문제 되지 않나? 했는데 스프링 빈에 등록된 경우에만 문제가 된다고 이해하였습니다. (제가 잘못 이해했는지도 궁금합니다 ㅎㅎ) 그렇다면 혹시 DTO를 스프링 빈에 등록하는 경우가 만에 하나라도 있을까요? DTO를 스프링 빈에 등록한다면 동일한 문제가 생길 것 같아서요.

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

인기 태그

인프런 TOP Writers

주간 인기글