묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
메소드에 객체형(?) 변수 넣는 것이 잘 이해가 가지 않습니다.
함수형 인터페이스(전반전) 강의를 듣는 도중pulbic static void convertUSD(Convertible converter, int USD) { converter.convert(USD); }메소드가 어떤식으로 동작되는지 궁금합니다. 추가로 클래스를 생성하고 객체 생성 후 객체를 어떠한 메소드의 변수로 넣었을 때 어떤 식으로 동작되는지 어떨때 사용하는지 예시로 알려주신다면 정말 감사합니다..
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 9번 질문입니다.
저번에 퀴즈 풀다가 static 관련해서 오류가나서 질문한적이 있는데요.이번에도 static관련해서 오류가 났습니다 ㅜㅜ 선생님과 소스코드는 똑같이 쳤는데도 오류가 나네요위의 사진처럼 class Student에 static을 붙이지 않으니까 non-static 변수라서 참조가 안된다는 내용의 오류가 떠서 static을 추가하니까 아래 사진처럼 결과가 나왔는데요.혹시 어떤게 문제일까요 ㅠㅠ?
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
문자열 String 에 대해 질문이 있습니다.
문자열 String을 객체 생성하여 String str = new String();과 Strign str = ""; 이렇게 생성하는 방식중에 무엇이 더 적합한지요?그리고 두개방식의 차이점이 무엇인지 궁금합니다. 문자열을 담을 수 있는 변수가 필요할때 어떻게 사용하는게 더 나은것인지에 대한 질문입니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 3번 질문
제가 수정해서 만든 코드들도 정상적으로 작동하는 데 '나도코딩'님이 예시로 준 코드와 차이점이 뭔가요?제 코드가 메모리를 더 차지해서 이런 방법으로 쓰진 않나요?퀴즈 3번의 예시가 indexOf를 사용할 필요가 없을 정도로 간단해서 쓸 필요가 없는 건가요?public class _Quiz_03 { public static void main(String[] args) { String B01 = "901231-1234569"; //하이픈을 포함한 정수(숫자)들을 문자열로 만들기 위해 변수 String 사용 String B02 = "030708-4567890"; //하이픈을 포함한 정수(숫자)들을 문자열로 만들기 위해 변수 String 사용 // System.out.println("김영희님의 주민번호는 " + B01.substring(B01.indexOf("9"), B01.indexOf("2", 6)) + " 입니다."); System.out.println("김철수님의 주민번호는 " + B02.substring(B02.indexOf("0",0), B02.indexOf( "5", 5)) + " 입니다."); // (내가 처음 만든 방식) 잘 작동은 되지만 코드가 길어서 메모리를 더 잡아 먹는다. //indexOf( "찾을 특정 문자" , "시작할 위치" ) 이런식으로 사용해 주면된다. //"시작할 위치" 같은경우는 생략이 가능하며 생략할 경우 0번째 즉 처음부터 찾기 시작한다. System.out.println(B01.substring(B01.indexOf("9"),B01.indexOf("2", 4))); System.out.println(B02.substring(B02.indexOf("0"), B02.indexOf("5"))); //(수정된 방법) //(나도코딩님 예시) String id = "901231-1234569"; System.out.println(id.substring(0,8)); //0 위칩터 8위치 직전가지 } }
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
생성자에서 this 이용(Recursive Constructor Invocation)
선생님 안녕하세요.생성자 강의에서 아래 캡처한 부분 설명해주시는 과정에서 기본생성자인 Blackbox()의 중괄호 안에 this("모델명", "해상도", ...) 라고 선생님이 입력하신 내용을 저도 따라 입력해 봤는데요. 제 경우에는 Recursive Constructor Invocation라는 에러 메시지가 뜨는 데 어떻게 해야 문제를 해결할 수 있을까요?
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
선생님 질문있습니다.
부모 클래스의 eat()함수를 자식클래스에서 사용할수는 없는지 궁금해서요. 상속받으면 하위클래스의 eat만 출력되잖아요..
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
추상클래스 (abstract class)와 인터페이스(interface)의 최적의 쓰임?
안녕하세요 나도코딩 선생님...ㅎ몇 주전에 나도코딩 자바편 강의를 완강하고 다시 2회차로 강의를 듣는 중입니다...ㅎ추상 클래스 (abstract class)와 인터페이스(interface) 관련 강의를 들으면서 각각의 특징들 및 차이점들에 대해서 다시 조금씩 알아가고 있는데... (예를 들면, 추상클래스는 abstract 키워드를 가지고, abstract메소드를 가지고 있어서 객체를 생성할 수 없는 반면, 인터페이스(interface)는 보통 -able 키워드, 변수 X, 생성자 X, 오로지 메소드만 있다 등)이 둘, 그러니까 추상 클래스 (abstract class)와 인터페이스(interface)는 '어느 때 (또는 어느 시점)'에 활용하는게 가장 적절한지 디테일하게 알 수 없을까요?항상 좋은 강의와 답변 감사합니다...ㅎ
-
미해결스프링 핵심 원리 - 기본편
섹션 7 옵션처리강의 4분경 중복 빈 정의 오류
안녕하세요 수업 중 영한님께서 4분경에 전체 Test코드 돌려보실 때 오류가 안 뜨는데 저는 UnsatisfiedDependencyException 오류가 발생합니다. 같은 타입의 빈이 2개 있어서 어떤걸 주입해야하는지 모르는 것 같아서 발생하는 것 같습니다... 그런데 어느 부분을 손대야 할지 모르겠습니다ㅠㅜ....Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [C:\Inprun_SpringCore\core\out\production\classes\hello\core\member\MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,MemberRepository [MemberServiceImpl][MemoryMemberRepository][AutoAppConfig][AppConfig]java.lang.IllegalStateException: Failed to load ApplicationContextat org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98)at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124)at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43)at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248)at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:138)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$8(ClassBasedTestDescriptor.java:363)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:368)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$9(ClassBasedTestDescriptor.java:363)at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:362)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:283)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:282)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:272)at java.base/java.util.Optional.orElseGet(Optional.java:369)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:271)at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:102)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:101)at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:66)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57)at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [C:\Inprun_SpringCore\core\out\production\classes\hello\core\member\MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,MemberRepositoryat org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800)at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731)at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136)at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141)at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90)... 72 moreCaused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,MemberRepositoryat org.springframework.beans.factory.config.DependencyDescriptor.resolveNotUnique(DependencyDescriptor.java:220)at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1369)at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)... 90 more
-
해결됨스프링 핵심 원리 - 기본편
TestConfig에 static이 붙는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]다른 질문에 달려있는 답변을 봐도 잘 이해가 가지 않아서 질문드립니다.https://www.inflearn.com/questions/257297/testconfig-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%97%90%EC%84%9C-static%EC%9D%84-%EB%96%BC%EB%B2%84%EB%A6%AC%EB%A9%B4 위의 링크 답변을 참고해도 이해가 잘 가지 않아 질문 드립니다.static이 아닌 innerclass는 outerclass 인스턴스를 생성해서 접근이 가능하다고 합니다.반면 static innerclass의 경우 outreclass이름.innerclass로 outerclass 인스턴스를 생성하지 않고 접근할 수 있다고합니다.AnnotationConfigApplicationContext(TestConfig.class);의 경우 TestConfig.class을 받아서 빈을 등록하는 걸로 알고있는데 static innerclass가 아닌 일반 innerclass로 넣을 경우 안되는 이유가 외부참조가 필요하기 때문인건가요?그러면 static innerclass 인스턴스를 생성할때 outerclass이름.innerclass() 형태로 생성해야 할텐데 이 경우는 문제가 안되는 건가요?
-
미해결Java/Spring 주니어 개발자를 위한 오답노트
verify, validate, check, is
안녕하세요!verify : 과정validate : 최종 결과check : 확인is : 존재 여부이렇게 생각하는데 다른 분들 의견 및 강사분 의견을 듣고싶습니다!
-
미해결스프링 핵심 원리 - 기본편
질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. AnnotationConfigApplicationContext(LifeCycleConfig.class);여기에서 안에 들어간 클래스는 자동으로 컨테이너에 등록된다고 알고있는데LifeCycleConfig.class에 또 @Configuration을 등록해줄 필요가있나요?
-
미해결스프링 핵심 원리 - 기본편
싱글톤을 사용하면서 DIP를 만족하는 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 항상 좋은 강의를 제공해주셔서 감사합니다.다름이 아니라 한가지 질문이 있는데요.getInstance()를 구현하지 않고 AppConfig.class를 아래와 같이 짠다면 싱글톤이면서 DIP를 만족한다고 할 수 있을까요?
-
미해결스프링 핵심 원리 - 기본편
UnsatisfiedDependencyException 에러가 떠요..!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 영한님 UnsatisfiedDependencyException에러를 구글링해봤습니다. 이유는 memberServiceImlple을 빈으로 등록할 때 파라미터로 MemberRepository빈이 생성자주입이 안 된다는 것 같습니다. 해결하려고 하는데 어디를 손대야 될지 모르겠습니다... 혹시 어느 부분이 잘못된 것인지 알 수 있을까요..? [MemberServiceImpl][MemoryMemberRepository][AutoAppConfig][AppConfig]java.lang.IllegalStateException: Failed to load ApplicationContextat org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98)at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124)at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118)at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43)at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248)at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:138)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$8(ClassBasedTestDescriptor.java:363)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:368)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$9(ClassBasedTestDescriptor.java:363)at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:362)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:283)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:282)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:272)at java.base/java.util.Optional.orElseGet(Optional.java:369)at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:271)at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:102)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:101)at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:66)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57)at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [C:\Inprun_SpringCore\core\out\production\classes\hello\core\member\MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,MemberRepositoryat org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800)at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731)at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136)at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141)at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90)... 72 moreCaused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,MemberRepositoryat org.springframework.beans.factory.config.DependencyDescriptor.resolveNotUnique(DependencyDescriptor.java:220)at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1369)at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)... 90 more
-
미해결스프링 핵심 원리 - 기본편
수업 내용 이게 맞을까요?
@Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final MyLogger myLogger; @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) { String requestURL = request.getRequestURL().toString(); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK"; } }1. 위 코드가 에러가 나는 이유@RequiredArgsConstructor 이 코드로 생성자 자동 주입을 실행빈 라이플 사이클 생성자 주입특징으로 객체 생성 과정과 의존관계주입이 한번에 일어나니MyLogger 객체가 setRequestURL 세터 메서드로인해 (외부에서 입력 받아야하니) 정보를 못담아서 에러가 나는거 맞을까요? @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) { String requestURL = request.getRequestURL().toString(); MyLogger myLogger = myLoggerProvider.getObject(); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK"; } }코드가 실행되는 이유빈 라이플 사이클 중 Setter와 Field 주입은 객체 생성 후 의존관계 주입으로 나뉘어져있으므로logDemo메서드가 실행하면 Provider.getObject()가 나올떄까지 빈 생성을 지연시키다가 request요청을 받은후 Provider.getObject()로 객체를 생성하고setRequestURL()로 의존관계를 주입하는사이클 맞을까요?
-
미해결스프링 핵심 원리 - 기본편
@Autowired 빨간줄
@Scope("singleton") static class ClientBean{ @Autowired private Provider<PrototypeBean> provider; public int logic() { PrototypeBean prototypeBean = provider.get(); prototypeBean.addCount(); int count = prototypeBean.getCount(); return count; } }위에 코드 @Autowired 에 빨간줄이 생기면서Inspection 'Incorrect autowiring in Spring bean components' options 오류 메시지가 뜨네요그런데 테스트 실행은 정상작동 되던데 뭐가 문제인가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 7번 질문있습니다.
안녕하세요. 선생님 강의 퀴즈 7번을 풀다가 에러가 나서 질문 드립니다.다형성을 이용해서 클래스를 배열에 담는 과정에서 에러가 발생하는데요. 소스코드를 선생님과 동일하게 쳐도 non-static variable this cannot be referenced from a static context 에러가 뜹니다..구글링을 통해 해결해보려고 했으나 각 클래스에 static 을 명시해줘야 한다고 해서 해보니까 스택오버플롤우 에러가 뜨네요 ㅜㅜ
-
미해결스프링 핵심 원리 - 기본편
주문 할인 도매인 개발 강의 중 질문이있어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]생성자를 만드는 이유는 뭔가요??
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
void의 사용에 대해
메소드 강의에서 3분 24초 쯤 void를 이용하는데 왜 갑자기 void를 쓰는지에 대한 설명이 없어서 헷갈려서 질문드립니다. 어떨 때 void를 쓰는지 ( 제가 알기론 반환 값이 없을 때 사용 ) 그리고 위의 부분들과 어떠한 점이 달라서 void를 쓰게 되었는지를 잘 모르겠습니다... 객체 듣다가 너무 어려워서 객체 파트만 2번째 듣는데 너무 어렵네요 ㅠㅠ
-
미해결스프링 핵심 원리 - 기본편
의존관계주입에 관하여 질문이 있씁니다!
스프링 부트를 사용하여 프로젝트를 진행한 경험이 있습니다. 스프링 이론에 대한 전반적인 이해가 부족하여 이번 강의를 듣게 되었습니다.스프링 부트에서 프로젝트를 진행할 때는 구현체와 인터페이스를 구분하여 클래스를 생성하지 않고 구현체만 생성해서 진행했습니다. 따라서 MemberService를 직접 MemberController에서 호출해서 사용했습니다. 이 때, new를 하지 않고 바로 메서드 사용이 가능했습니다. 이는 스프링 부트가 @Autowired를 하지 않아도 자동으로 빈등록을 해줘서 가능한건지 궁금합니다.또한 매 프로젝트를 진행할 때마다 구현체와 인터페이스를 분리하여 진행하는 것이 좋은 개발인지도 궁금합니다!마지막으로 구현체와 인터페이스를 하나의 패키지에 관리하는 것인지 아니면 구현체는 구현체끼리 인터페이스는 인터페이스끼리 관리하는 것인지도 궁금합니다!
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈1번
String busName = "전주08"; System.out.println( "버스 번호는 " + busName + "입니다."); int leftTime = Integer.parseInt("5"); System.out.println("남은 시간은 " + leftTime + "분 입니다"); double leftDistance = Double.parseDouble("1.5"); System.out.println("남은 거리는 " + leftDistance + "Km 입니다");String busNo = "전주08"int minutes = 5; 이렇게 만드는 거랑 위의 방법으로 만드는 거랑 출력은 같아 보여도 컴퓨터가 인식했을 때 다른가요?