inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

영상 5:00대에 단위테스트의 대한 질문

미해결

스프링 핵심 원리 - 기본편

영상에서는 @SpringBootTest 보다 단위테스트가 중요하다고 말씀하셨는데.. 실제 프로젝트에서는 그럼 Fake객체를 생각해 볼 수 있다고 생각됩니다. Fake객체를 사용하게 되면 Application Layer처럼 여러 객체들이 맞물려서 동작하는 과정에서 제대로 테스트를 했다고 볼 수 있나? 라는 의문이 드는데.. 영한님은 어떻게 생각하시는지 궁금합니다. AI의 답변 보다는 영한님의 개인적인 의견을 들어보고 싶습니다..!

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

TestBean에 @Configuration 어노테이션이 없어도되나요?

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] public class AutowiredTest { @Test void AutowiredOption() { ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class); } static class TestBean { @Autowired(required = false) public void setNoBean1(Member noBean1) { System.out.println("noBean1 = " + noBean1); } @Autowired public void setNoBean2(@Nullable Member noBean2) { System.out.println("noBean2 = " + noBean2); } @Autowired public void setNoBean3(Optional<Member> noBean3) { System.out.println("noBean3 = " + noBean3); } } } 여기서 TestBean에 @Configuration 어노테이션이 없는데, ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class);에 구성정보로 TestBean.class를 넘겨줄 수 있는 이유가 뭔가요?

  • spring
  • 객체지향
스물다섯컷의흑백필름 댓글 2 좋아요 1 조회수 753

배열을 생성할때

해결됨

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

String[] a = new String[] {“abc”, “bcd”}; 이 방법과 String[] a = {“abc”, “bcd”} 의 방법중 아래의 방법이 조금 더 깔끔하고 효율적인 코드가 아닌가요? 첫번째 방법을 사용하는 이유를 알고 싶습니다

  • java
  • 객체지향
jehwi 댓글 1 좋아요 0 조회수 358

request scope관련

미해결

스프링 핵심 원리 - 기본편

request scope로 http요청을 받으면 쓰레드 풀로 비동기적으로 실행되는건가요? 그리고 LogDemoController의 MyLogger myLogger = myLoggerProvider.getObject();와 LogDemoService의 MyLogger myLogger = myLoggerProvider.getObject();가 어떻게 같을 수 있나요? objectProvider가 http요청에 따라 bean을 구분해서 가져올수있는건가요?

  • spring
  • 객체지향
심재윤 댓글 1 좋아요 0 조회수 207

스트림 문법 사용 중 중간 연산을 두 번 사용하는 것과 And를 통해서 중간 연산을 한 번만 하는 것이 다른 걸까요?

미해결

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

// 중간 연산 한 번 사용으로 And 연산 사용하기 langList.stream().filter(x -> x.length() <= 4 && x.contains("c")).forEach(System.out::println); System.out.println("-----------------------------"); // 중간 연산 두 번 사용 langList.stream().filter(x -> x.length() <= 4 && x.contains("c")).forEach(System.out::println); System.out.println("-----------------------------"); -> 궁금해서 해보다가 And 연사자를 사용하는 것도 되더라고요. 위에 나와있는 두 개의 코드 모두 사용해도 상관없는 지와 어떤 것을 사용하는 것이 더 좋다고 할 수 있는지 궁금합니다

  • java
  • 객체지향
  • stream
김기석 댓글 1 좋아요 0 조회수 293

component scan에 관련해서

미해결

스프링 핵심 원리 - 기본편

밑에 코드 중에 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); 이 코드가 이해가 안되서 질문 드립니다. 강사님이 이렇게 코드를 작성하면 자동으로 component scan이 된다고 하셨는데, 밑에 ClientBean과 PrototypeBean은 @Component어노테이션이 없습니다. 따라서 @Autowired도 안되는거 아닌가요?? package hello.core.scope; import jakarta.annotation.PostConstruct; import jakarta.annotation.PreDestroy; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import static org.assertj.core.api.Assertions.assertThat; public class SingletonWithPrototypeTest1 { @Test void singletonClientUsePrototype(){ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); ClientBean clientBean1 = ac.getBean(ClientBean.class); int count1 = clientBean1.logic(); assertThat(count1).isEqualTo(1); ClientBean clientBean2 = ac.getBean(ClientBean.class); int count2 = clientBean2.logic(); assertThat(count2).isEqualTo(2); } @Scope("singleton") static class ClientBean{ private final PrototypeBean prototypeBean; @Autowired public ClientBean(PrototypeBean prototypeBean) { this.prototypeBean = prototypeBean; } public int logic(){ prototypeBean.addCount(); return prototypeBean.getCount(); } } @Scope("prototype") static class PrototypeBean { private int count = 0; public void addCount() { count++; } public int getCount() { return count; } @PostConstruct public void init() { System.out.println("PrototypeBean.init = " + this); } @PreDestroy public void destroy() { System.out.println("PrototypeBean.destroy"); } } }

  • spring
  • 객체지향
심재윤 댓글 1 좋아요 0 조회수 310

싱글턴 빈 객체의 생명 주기

미해결

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 싱글턴 빈 객체의 경우 스프링의 생명주기와 함께 하나요? 즉 스프링이 빈을 등록할 때 생성이 되어서 스프링이 종료 될 때 빈도 destroy 되는 것일까요?

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

싱글톤의 문제

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 멤버 서비스는 싱글톤을 사용해도 문제가 없다고 생각하는데 멤머 리파지토리(메모리 맴버 리파지토리)도 싱글톤을 사용해도 문제가 없나요?

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

첫강의 전체소스코드에서 Trust Project 이 뭔지 모르겠어요!

미해결

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

사용법 ) 첨부 파일 다운로드 및 압축해제 하신 후, IntelliJ 에서 (1) File 메뉴 (2) Open (3) JavaWorkspace (압축 해제된 폴더) 선택 (4) Trust Project 선택 하시면 프로젝트를 확인하실 수 있습니다. 3번에서 폴더 누르고 확인 누르면 팝업창이 꺼지는데... Trust Project가 뭘 의미하는지 모르겠습니다..!

  • java
  • 객체지향
차승범 댓글 1 좋아요 0 조회수 958

리스트는 출력이 되는데 맵이 출력이 안되요...

해결됨

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 김영한 강사님의 스프링 핵심 원리 -기본편 을 수강중입니다. 리스트와 맵으로 받아오는 부분을 듣고 있는데 리스트는 정상 출력 되지만, 맵이 정상 출력이 되지 않습니다. 또한 @Autowired가 빨간줄이 뜨며 에러표시가 됨니다... 에러 메시지는 autowired members must be defined in valid spring bean 이렇습니다.

  • spring
  • 객체지향
정현종 댓글 2 좋아요 0 조회수 317

에러의 이유를 모르겠어요 (UnsatisfiedDependencyException)

해결됨

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 안녕하세요. 컴포넌트 스캔쪽 강의를 따라가는데 에러메시지가 나와서 원인을 찾아보려해도 도저히 보이지가 않아 질문드립니다. ㅠㅠ 에러 메시지. Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderServiceImpl' defined in file [/Users/jhj/Desktop/study/spring_standard_kyh/core/out/production/classes/hello/core/order/OrderServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 구글링 해본 결과, OrderServiceImpl의 생성자 주입 과정에서 첫번째 파라미터에 문제가 있는것 같습니다만, 아무리 찾아봐도 원인을 모르겠습니다.... @Component public class OrderServiceImpl implements OrderService{ // private final MemberRepository memberRepository = new MemoryMemberRepository(); // private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); // private final DiscountPolicy discountPolicy = new RateDiscountPolicy(); // private DiscountPolicy discountPolicy; // 인테페이스에만 의존 하지만 널포인트 예외가 발생. // 해결하려면 누군가 객체를 생성해서 주입해주면 될것 같다? private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } @Override public Order createOrder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); int discountPrice = discountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); } //테스트 용도 public MemberRepository getMemberRepository() { return memberRepository; } } //----------------------------- @Component public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; //생성자에 @Autowired를 사용하면, 스프링이 자동으로 생성자 주입 해줌. // ac.getBean(MemberRepository.class)를 한것과 같은 효과. @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findMember(Long memberId) { return memberRepository.findById(memberId); } //테스트 용도 public MemberRepository getMemberRepository() { return memberRepository; } }

  • spring
  • 객체지향
정현종 댓글 1 좋아요 0 조회수 653

단축키 질문

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 스프링 빈 조회 - 동일한 타입이 둘 이상 강의 7분 40초대에서 ac.getBeanOfType을 입력하시고 특정단축키를 입력하니 앞에 맵으로 선언되는 문장이 완성되던데 해당 단축키가 궁금합니다(윈도우)

  • spring
  • 객체지향
최정식 댓글 1 좋아요 0 조회수 481

강의노트 어디서 볼수 있을까요?

미해결

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

1강 노트 부분에 링크 찾을수 없네요

  • java
  • 객체지향
동치미이프유캔 댓글 4 좋아요 0 조회수 481

xmlAppcontext 오류 관련 문의

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] [질문 내용] XmlAppContext 테스트 실행시키니까 강의에서 나온것처럼 않뜨고 이런식으로 뜨는데 이게 원래 그런건가요? 15:50:43.131 [main] WARN org.springframework.beans.factory.xml.XmlBeanDefinitionReader -- Ignored XML validation warning org.xml.sax.SAXParseException: SchemaLocation: schemaLocation value = ' http://www.springframework.org/schema/beans http:// www.springframework.org/schema/beans/spring-beans.xsd ' must have even number of URI's. at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException( ErrorHandlerWrapper.java:204 ) at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning( ErrorHandlerWrapper.java:100 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError( XMLErrorReporter.java:392 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError( XMLErrorReporter.java:327 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError( XMLErrorReporter.java:284 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError( XMLSchemaValidator.java:512 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.storeLocations( XMLSchemaValidator.java:2604 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement( XMLSchemaValidator.java:1916 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement( XMLSchemaValidator.java:830 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement( XMLNSDocumentScannerImpl.java:374 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook( XMLNSDocumentScannerImpl.java:613 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next( XMLDocumentFragmentScannerImpl.java:3079 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next( XMLDocumentScannerImpl.java:836 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next( XMLDocumentScannerImpl.java:605 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next( XMLNSDocumentScannerImpl.java:112 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument( XMLDocumentFragmentScannerImpl.java:542 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse( XML11Configuration.java:889 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse( XML11Configuration.java:825 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse( XMLParser.java:141 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse( DOMParser.java:247 ) at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse( DocumentBuilderImpl.java:342 ) at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument( DefaultDocumentLoader.java:77 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument( XmlBeanDefinitionReader.java:432 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions( XmlBeanDefinitionReader.java:390 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions( XmlBeanDefinitionReader.java:338 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions( XmlBeanDefinitionReader.java:310 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:184 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:220 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:191 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:253 ) at org.springframework.context.support .GenericXmlApplicationContext.load( GenericXmlApplicationContext.java:130 ) at org.springframework.context.support .GenericXmlApplicationContext.<init>( GenericXmlApplicationContext.java:70 ) at hello.core.xml.XmlAppContext.xmlAppContext( XmlAppContext.java:10 ) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:77 ) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base/java.lang.reflect.Method.invoke( Method.java:568 ) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod( ReflectionUtils.java:727 ) at org.junit.jupiter.engine.execution.MethodInvocation.proceed( MethodInvocation.java:60 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed( InvocationInterceptorChain.java:131 ) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept( TimeoutExtension.java:156 ) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod( TimeoutExtension.java:147 ) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod( TimeoutExtension.java:86 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0( InterceptingExecutableInvoker.java:103 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0( InterceptingExecutableInvoker.java:93 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed( InvocationInterceptorChain.java:106 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed( InvocationInterceptorChain.java:64 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke( InvocationInterceptorChain.java:45 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke( InvocationInterceptorChain.java:37 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke( InterceptingExecutableInvoker.java:92 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke( InterceptingExecutableInvoker.java:86 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7( TestMethodTestDescriptor.java:217 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod( TestMethodTestDescriptor.java:213 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:138 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:68 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:151 ) 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:1511 ) 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:1511 ) 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:147 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:127 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:90 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:55 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:102 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:54 ) 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:232 ) at com.intellij.rt.junit.JUnitStarter.main( JUnitStarter.java:55 ) 15:50:43.144 [main] WARN org.springframework.beans.factory.xml.XmlBeanDefinitionReader -- Ignored XML validation warning org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>. at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException( ErrorHandlerWrapper.java:204 ) at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning( ErrorHandlerWrapper.java:100 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError( XMLErrorReporter.java:392 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError( XMLErrorReporter.java:306 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr( XSDHandler.java:4258 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaWarning( XSDHandler.java:4249 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument1( XSDHandler.java:2543 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument( XSDHandler.java:2239 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema( XSDHandler.java:589 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema( XMLSchemaLoader.java:618 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.findSchemaGrammar( XMLSchemaValidator.java:2711 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement( XMLSchemaValidator.java:2070 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement( XMLSchemaValidator.java:830 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement( XMLNSDocumentScannerImpl.java:374 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook( XMLNSDocumentScannerImpl.java:613 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next( XMLDocumentFragmentScannerImpl.java:3079 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next( XMLDocumentScannerImpl.java:836 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next( XMLDocumentScannerImpl.java:605 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next( XMLNSDocumentScannerImpl.java:112 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument( XMLDocumentFragmentScannerImpl.java:542 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse( XML11Configuration.java:889 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse( XML11Configuration.java:825 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse( XMLParser.java:141 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse( DOMParser.java:247 ) at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse( DocumentBuilderImpl.java:342 ) at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument( DefaultDocumentLoader.java:77 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument( XmlBeanDefinitionReader.java:432 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions( XmlBeanDefinitionReader.java:390 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions( XmlBeanDefinitionReader.java:338 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions( XmlBeanDefinitionReader.java:310 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:184 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:220 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:191 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:253 ) at org.springframework.context.support .GenericXmlApplicationContext.load( GenericXmlApplicationContext.java:130 ) at org.springframework.context.support .GenericXmlApplicationContext.<init>( GenericXmlApplicationContext.java:70 ) at hello.core.xml.XmlAppContext.xmlAppContext( XmlAppContext.java:10 ) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:77 ) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base/java.lang.reflect.Method.invoke( Method.java:568 ) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod( ReflectionUtils.java:727 ) at org.junit.jupiter.engine.execution.MethodInvocation.proceed( MethodInvocation.java:60 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed( InvocationInterceptorChain.java:131 ) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept( TimeoutExtension.java:156 ) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod( TimeoutExtension.java:147 ) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod( TimeoutExtension.java:86 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0( InterceptingExecutableInvoker.java:103 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0( InterceptingExecutableInvoker.java:93 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed( InvocationInterceptorChain.java:106 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed( InvocationInterceptorChain.java:64 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke( InvocationInterceptorChain.java:45 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke( InvocationInterceptorChain.java:37 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke( InterceptingExecutableInvoker.java:92 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke( InterceptingExecutableInvoker.java:86 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7( TestMethodTestDescriptor.java:217 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod( TestMethodTestDescriptor.java:213 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:138 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:68 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:151 ) 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:1511 ) 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:1511 ) 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:147 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:127 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:90 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:55 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:102 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:54 ) 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:232 ) at com.intellij.rt.junit.JUnitStarter.main( JUnitStarter.java:55 ) Caused by: java.io .IOException: Failed to select a proxy at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0( HttpURLConnection.java:1234 ) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect( HttpURLConnection.java:1128 ) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect( HttpURLConnection.java:1057 ) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0( HttpURLConnection.java:1665 ) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream( HttpURLConnection.java:1589 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity( XMLEntityManager.java:677 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion( XMLVersionDetector.java:150 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaParsingConfig.parse( SchemaParsingConfig.java:593 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaParsingConfig.parse( SchemaParsingConfig.java:696 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaDOMParser.parse( SchemaDOMParser.java:530 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument( XSDHandler.java:2227 ) ... 99 common frames omitted Caused by: java.lang.IllegalArgumentException: protocol = http host = null at java.base/sun.net.spi.DefaultProxySelector.select( DefaultProxySelector.java:186 ) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0( HttpURLConnection.java:1232 ) ... 109 common frames omitted org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 5 in XML document from class path resource [appConfig.xml] is invalid at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions( XmlBeanDefinitionReader.java:402 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions( XmlBeanDefinitionReader.java:338 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions( XmlBeanDefinitionReader.java:310 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:184 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:220 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:191 ) at org.springframework.beans.factory.support .AbstractBeanDefinitionReader.loadBeanDefinitions( AbstractBeanDefinitionReader.java:253 ) at org.springframework.context.support .GenericXmlApplicationContext.load( GenericXmlApplicationContext.java:130 ) at org.springframework.context.support .GenericXmlApplicationContext.<init>( GenericXmlApplicationContext.java:70 ) at hello.core.xml.XmlAppContext.xmlAppContext( XmlAppContext.java:10 ) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:77 ) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base/java.lang.reflect.Method.invoke( Method.java:568 ) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod( ReflectionUtils.java:727 ) at org.junit.jupiter.engine.execution.MethodInvocation.proceed( MethodInvocation.java:60 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed( InvocationInterceptorChain.java:131 ) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept( TimeoutExtension.java:156 ) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod( TimeoutExtension.java:147 ) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod( TimeoutExtension.java:86 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0( InterceptingExecutableInvoker.java:103 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0( InterceptingExecutableInvoker.java:93 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed( InvocationInterceptorChain.java:106 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed( InvocationInterceptorChain.java:64 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke( InvocationInterceptorChain.java:45 ) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke( InvocationInterceptorChain.java:37 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke( InterceptingExecutableInvoker.java:92 ) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke( InterceptingExecutableInvoker.java:86 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7( TestMethodTestDescriptor.java:217 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod( TestMethodTestDescriptor.java:213 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:138 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute( TestMethodTestDescriptor.java:68 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:151 ) 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:1511 ) 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:1511 ) 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:147 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:127 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:90 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:55 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:102 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:54 ) 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:232 ) at com.intellij.rt.junit.JUnitStarter.main( JUnitStarter.java:55 ) Caused by: org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 57; cvc-elt.1.a: Cannot find the declaration of element 'beans'. at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException( ErrorHandlerWrapper.java:204 ) at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error( ErrorHandlerWrapper.java:135 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError( XMLErrorReporter.java:396 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError( XMLErrorReporter.java:327 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError( XMLErrorReporter.java:284 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement( XMLSchemaValidator.java:2133 ) at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement( XMLSchemaValidator.java:830 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement( XMLNSDocumentScannerImpl.java:374 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook( XMLNSDocumentScannerImpl.java:613 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next( XMLDocumentFragmentScannerImpl.java:3079 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next( XMLDocumentScannerImpl.java:836 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next( XMLDocumentScannerImpl.java:605 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next( XMLNSDocumentScannerImpl.java:112 ) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument( XMLDocumentFragmentScannerImpl.java:542 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse( XML11Configuration.java:889 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse( XML11Configuration.java:825 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse( XMLParser.java:141 ) at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse( DOMParser.java:247 ) at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse( DocumentBuilderImpl.java:342 ) at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument( DefaultDocumentLoader.java:77 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument( XmlBeanDefinitionReader.java:432 ) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions( XmlBeanDefinitionReader.java:390 ) ... 79 more

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

18강 map 질문

해결됨

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

val values = fruits.filter { fruit -> fruit.name == "사과" } .mapNotNull { fruit -> fruit.nullOrValue() } nullable한 List에서 null이 아닌 element만 가지고 오는 mapNotNull중에서.. nullOrValue()는 임의로 만드신 확장함수인가요?

  • java
  • kotlin
  • 객체지향
as a service 댓글 1 좋아요 1 조회수 344

AutowiredTest관련 질문

미해결

스프링 핵심 원리 - 기본편

static class TestBean에서 @Autowired를 3개를 했지만 3개가 등록이 되는건 아니라고 하셨는데 위에서 저렇게 print를 했을때에는 나오지 않더라구요... 어떻게 해야지 밑에 @Autowired중에 잘 들어간 함수들을 출력해서 직접 볼 수 있을지가 궁금합니다. 해당 코드를 실행했을 때의 결과는 다음과 같습니다.

  • spring
  • 객체지향
서정원 댓글 2 좋아요 0 조회수 318

Invalid test class 'hello.core.member.MemberServiceTest': 오류 질문

해결됨

스프링 핵심 원리 - 기본편

org.junit.runners.model.InvalidTestClassError: Invalid test class 'hello.core.member.MemberServiceTest': 1. Method join() should be public 영한님 코드랑 동일한데 해당 에러가 발생합니다. 에러 메시지처럼 join() 에 public 을 붙여 줬더니 해결이 되었는데, 이유가 뭘까요?

  • spring
  • 객체지향
  • test
heily 댓글 2 좋아요 0 조회수 573

생성자 주입방식에 의문이 있습니다.

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 안녕하세요? 생성자 주입에 대해서 질문이 있습니다. 앞서서 영한님의 강의에서, bean을 통해서 역할과 책임을 구분한다는 이야기를 많이 해주셨습니다. app config에서 배우를 정하고, 각 클래스들은 그냥 자신의 역할에만 집중한다는 비유를 들어서 말씀해주셨는데요 생성자를 직접 주입하는 방식은 사실 기존의 말씀과 상반되는 내용같아서, 제가 제대로 이해한 게 맞는지 싶어서 질문드립니다. 비유를 사용하여 그대로 말씀을 드리자면, '불변, 필수'의 관계에서는 앞서 말씀과 다르긴하지만, 생성자 주입을 통해 그냥 하나의 클래스에서 배우도 정하고 역할도 스스로 하는 게 맞을까요? 추가로, 만약 생성자를 주입해주는 방식만 사용한다고 하면, (싱글톤이라는 기능을 제외할 때)사실 빈을 왜 사용하는지?도 의문이 자연스럽게 듭니다..!

  • spring
  • 객체지향
김영빈 댓글 1 좋아요 0 조회수 543

AppConfig 클래스에서 의존성 주입을 통해 OrderService의 메서드 호출 문제

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의와 똑같이 설계한 뒤 AppConfig 클래스를 만들고 사진과 같이 파라미터로 MemoryRepository를 넘기면 두개의 MemoryRepository가 생기는거 아닌가요? 저 두개의 Repository 객체는 서로 다른 객체 인데 어떻게 저게 작동이 되나요?? 강의와 똑같이 반신반의 하면서 작동해봤는데 discountPolicy 쪽에서 member객체가 nullPointer 나옵니다.... 그렇다고 또 이렇게 하기엔 AppConfig클래스는 인터페이스인 Repository도 의존하게 되고 구현체인 MemoryRepository도 의존하는데... 어떻게 해야하나요? ** 추가 해결했습니다... MemoryRepository의 Map의 키워드가 static으로 하면되네요.... 학습자료 보니깐 static이였네요 ㅠㅠ

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

인기 태그

인프런 TOP Writers

주간 인기글