묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
TestBean 클래스에서 required = false 호출 가능하게 하는 방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요.강의를 듣다가 TestBean 클래스의@Autowired(required = false) 도 호출이 되게 하고 싶어서 테스트하고 있습니다.그래서 위 사진 39 ~ 45 라인과 같이 생성자를 만들어 주었습니다.Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.example.core.member.Member' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}그런데 위와 같은 에러가 발생하는데 어떻게 해야 required = false 도 호출 가능하게 할 수 있을까요??
-
해결됨스프링 핵심 원리 - 기본편
인텔리제이 단축키
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]혹시 인텔리제이 한 줄 선택 하는 단축키가 뭔가요??..검색해서 나온거 해봐도 안되요ㅠ
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)
힙메모리
힙메모리는 선입선출이 아닌가요?선입선출이라면 부모 클래스가 밑에 먼저 쌓여야 맞는거죠?
-
미해결스프링 핵심 원리 - 기본편
싱글톤 인스턴스
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]힙에 있는 단일 인스턴스에 만약 100명이 동시에 요청하면 그 인스턴스를 여러개 복사 해서 전달되는건가요?
-
해결됨Java/Spring 주니어 개발자를 위한 오답노트
IoC != DI에 대한 질문입니다.
안녕하세요,선생님 습하고 더운 여름 몸 건강히 계시길 바랍니다.강의를 듣는 도중 궁금한 부분이 생겼습니다.DIP와 IoC가 다르다고 말씀하신 부분이,DIP가 의존성 주입을 역전함으로써 제어의 흐름을 바꾸지만 IoC가 의존성을 주입해주는 것은 아니어서 그렇다고 이해되는데 제대로 이해한 게 맞을까요? ㅜㅜ 또, Open-Closed 법칙을 설명해주시는 1:32초 부분에 수정에는 열려있어야 한다는 말씀을 하셨는데수정 시 많은 메소드 혹은 클래스를 수정해야 하는 경우가 수정에 열려있는 것이 아닌지요 ㅜㅜ...제가 잘 모르다보니 헷갈려서 질문드립니다!
-
미해결스프링 핵심 원리 - 기본편
핵심원리 소스코드는 어디서 받을 수 있나요?
핵심원리 소스코드는 어디서 받을 수 있나요?
-
미해결스프링 핵심 원리 - 기본편
의존관계 주입에서 AppConfig라는 파일을 이름을 바꿔도 정상작동 하나요?
spring 에서 appconfig으로 구현객체 넣어줄때 appconfig파일을 다른이름을 바꿔도 상관이 없나요?? 아니면 무조건 appconfig라고 이름을 정해야하나요??
-
미해결스프링 핵심 원리 - 기본편
인터페이스 객체
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 강의 9분쯤 인터페이스로 만든 MemberRepository를 private fianl로 객체 생성했는데 제가 알기론 인터페이스는 객체로 생성이 안되는데 어떡게 된건가요??캐스팅을 하면 인터페이스를 객체로 만들 수 있는건가요??
-
미해결스프링 핵심 원리 - 기본편
@Autowired ApplicationContext DI 관련해서 질문드립니다.
[질문 내용]@Test void singletonClientUsePrototype(){ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(PrototypeBean.class, ClientBean.class);위 코드에서 스프링 컨테이너 1개 생성했고 ClientBean과 PrototypeBean을 빈으로 등록한 것으로 이해했습니다. @Scope("singleton") static class ClientBean{ private ApplicationContext applicationContext; public ClientBean(ApplicationContext applicationContext) { this.applicationContext = applicationContext; System.out.println("applicationContext = " + applicationContext); } public int logic(){ PrototypeBean prototypeBean = applicationContext.getBean(PrototypeBean.class); }이 때 ClientBean 안에서 ApplicationContext를 선언해서 getBean하면 스프링 컨테이너가 한 개 더 생성되서 2개가 운용되는 게 아닌가하는 의문이 들었습니다. 첫번째 질문은 위에서 말했던 것과 같이 스프링 컨테이너가 2개가 생성되고 관리할 수 있는 것인지 질문 드립니다. 그러다 이전 질문 글을 봤는데요, [이전 질문] @Autowired ApplicationContext 확인좀 해주세요(https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55490&category=questionDetail&tab=community&q=735170) @Autowired가 작동하면서 new AnnotaitonConfigAplicationContxt(ClientBean, PrototypeBean.class)가 ApplicationcContext applicationContext;로 DI된다는 것에 맞다는 답변을 주셨습니다. 그러면 스프링 컨테이너가 2개 생성되는 것이 아니라 SingletonClientUsePrototype() 메서드에서 ClientBean, PrototypeBean을 파라미터로 만든 컨테이너를 ClientBean의 생성자 파라미터로 주입받아서 결국엔 스프링 컨테이너 1개만 사용한다는 것인가요? 그러면 ClientBean과 PrototypeBean 총 2개의 빈을 가지고 있는 스프링 컨테이너를 가져와 그 중 PrototypeBean만 가져와서 logic() 메서드에 사용한다는 것으로 이해하면 될까요?질문 읽어주셔서 감사합니다.
-
미해결[코드팩토리] [입문] Dart 언어 4시간만에 완전정복
return과 print의 차이점을 모르겠어요.
return과 print의 차이점을 모르겠어요.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 관련 질문있습니다.
안녕하세요 메소드단원 퀴즈를 풀려고하는대 혼자서는 도저히 풀수가 없습니다.그래서 그동안 들었던 강의들을 보면서 오픈북 형식으로 풀고있는데혹시 제가 스스로 완전히 퀴즈를 풀수있을때까지 복습을하고 채득을 하는게 더좋을지 여쭤보고싶습니다..분명 강의는 열심히 집중해서들었는대 막상 실제로 코딩을 해보니 너무 어렵네요 ㅠㅠ..
-
해결됨자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
섹션2 다이아몬드 출력 문제 질문입니다!
int lineCount = scanner.nextInt();int spaceCount = lineCount/2+1;int starCount = 1; 다이아몬드 출력 시 처음 변수 설정 할 때int spaceCount = lineCount/2+1; 이 코드가 어떻게 나온 식인지 잘 이해가 안 가서 질문 드립니다!
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
선생님 안녕하세요 질문있습니다
저는 지금 학원에서 자바 수업을 듣고있습니다.제가 그동안 다른언어에서 해왔던대로, 또 나도코딩님의 수업에서 했던대로 하니까 강사님이 그건 절차지향적이라고 그렇게 하지 말라고 하던데...알아보니까 그때 강사님이 하신 말씀이 DTO라는 개념이나 자바빈즈 같은 개념이더라구요..이런거 관련해서는 강의하실 생각이 없으신지.. 아니면 어떤 강의를 듣는게 좋을지 조언좀 부탁드립니다..자바 시작한지 얼마 안 됐는데 뭐부터 해야할지 모르겠네요..
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
Camera[]
강의를 보다보면 Camera[] cameras = new Camera[3] 로 배열을 만들어 주셨는데 클래스 Camera와 배열의 Camera[]는 다른건가요?
-
미해결스프링 핵심 원리 - 기본편
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,fixDiscountPolicyorg.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'salt.core.discount.DiscountPolicy' available: expected single matching bean but found 2: rateDiscountPolicy,fixDiscountPolicy
-
미해결스프링 핵심 원리 - 기본편
기본편 - 프로젝트 생성 에러입니다 ㅠ
오후 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_warningsBUILD SUCCESSFUL in 3s3 actionable tasks: 1 executed, 2 up-to-date오후 2:04:15: Execution finished ':CoreApplication.main()'.이렇게 에러가 발생하는데 프로젝트 생성 어떻게 해야하나요 ㅠ
-
미해결스프링 핵심 원리 - 기본편
memberService에서 궁금한 점이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]memberService 인터페이스에서 join(Member member)가 있는데, member 클래스 자체를 파라미터로 받는 것이 어떤 의미가 있는 것인지 궁금합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
클래스 메소드
(강이 내용중 클래스 메소드는 안에 있는 동작이 항상 똑같이 발생 한다고 하셨는데 )클래스 메소드도 호출해서 사용 하고 그냥 메소드도 호출해서 사용하는데그러면 클래스 메소드 안에서 항상 작동하는 동작들을 그냥 메소드 안에 넣어주어서 사용하면 되는거 아닌가요?? 왜 굳이 클래스 메소드를 선언해서 사용하는지 이해가 안되네요
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
객체와 인스턴스의 차이
BlackBox bbox = new BlackBox(); 에서BlackBox 클래스로부터 bbox 객체 생성bbox 객체는 BlackBox 클래스의 인스턴스라고 하셨는데객체와 인스턴스가 무슨 차이가 있는지 이해가 안되네요..
-
미해결스프링 핵심 원리 - 기본편
특정 타입을 모두 조회하기 테스트에서 값이 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@68dc098bbeansOfType = {MemberRepository=hello.core.member.MemoryMemberRepository@68dc098b}이렇게 나와서 1개만 나와서 테스트를 실패해서요 지금 이전에 만든 MemoryMemberRepository를 보고 있는거 같은데 어떻게 SameBeanConfig를 보게 만들 수 있나요?