묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
서버객체 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]다른분이 질문하신거 보고 서버, 클라이언트 객체간 의미는 파악했습니다.여기보면 DiscountPolicy를 서버 객체라고 하시는데new FixDiscountPolicy의 생성자 메소드를 호출했으면FixDiscountPolicy를 서버객체라고해야되는거 아닌가요?? 그리고 밑에서 int discountPrice = discountPolicy.discount(member, itemPrice); 이러한 코드에서 실제로 호출되는 메소드는 FixDiscountPolicy()의 메소드가 호출되는거잖아요? 근데 왜 인터페이스를 서버객체라고 하는거죠? (A객체가 B객체의 메서드를 호출하면 A클래스가 클라이언트, B클래스가 서버가 됩니다.)
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ArrayEx6문제를 풀었는데 정답이랑 코드가 다릅니다
그런데 작동은 잘 됩니다배열0번째, 1번째1번째, 2번째2번째, 3번째..1번째, 2번째2번째,3번째 이런식으로 비교해나가면서 가장 큰 수를 앞으로 보내고 가장 작은 수를 뒤로 보냈어요그럼 배열의 가장 앞에 있는 숫자가 가장 큰 수 일 거고 가장 뒤에 있는 숫자가 가장 작은 수가 될 테니까요작동은 똑바로 되는거 같은데 피드백 부탁드립니다!
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ScannerWhileEx4 문제를 switch문으로 풀어보았습니다
결과는 동일하게 나오는데 정확한가요??
-
미해결스프링 핵심 원리 - 기본편
스프링 부트를 쓰지 않는 단위 테스트의 모범 사례가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요. 김영한님의 강의를 들으며 스프링 부트를 활용한 웹 어플리케이션 개발을 진행하고 있는데, 단위 테스트 코드 작성 시 모범 사례(?)가 있는지 궁금해 질문하게 되었습니다. 영한님의 강의에서 "좋은 테스트는 단위 테스트부터 출발하며, 단위 테스트를 잘 만드는 것이 좋은 테스트의 출발이다."라는 의미의 말을 기억하며 단위 테스트 코드를 다음과 같이 작성해보았습니다. AppConfig 코드@Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } // ... } 단위 테스트 대상 (서비스 컴포넌트)@Component public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } // ... } 위 서비스 컴포넌트를 단위 테스트 하기 위해 아래와 같은 테스트 코드를 작성했습니다.class MemberServiceImplTest { @Test @DisplayName("사례1") void case1() { // @SpringBootTest를 사용하진 않지만 ApplicationContext를 사용 ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); // Bean 가져오기 MemberService memberService = ac.getBean(MemberService.class); MemberRepository memberRepository = ac.getBean("memberRepository", MemberRepository.class); // 가져온 것 확인하기 Assertions.assertThat(memberService).isInstanceOf(MemberService.class); Assertions.assertThat(memberRepository).isInstanceOf(MemberRepository.class); } @Test @DisplayName("사례2") void case2() { // 순수 자바로 가져오기 MemberRepository memberRepository = new MemoryMemberRepository(); MemberService memberService = new MemberServiceImpl(memberRepository); // 멤버 서비스 테스트 세팅 Member newMember = new Member(1L, "Test", Grade.VIP); memberService.join(newMember); // 멤버 서비스 테스트 검증 Member findMember = memberService.findMember(1L); Assertions.assertThat(newMember.getId()).isEqualTo(findMember.getId()); } }// 두 테스트 모두 테스트를 통과합니다.제가 궁금한 것은사례1은 과연 유닛 테스트라고 할 수 있을까요? @SpringBootTest를 붙여주지 않았을 뿐이지 스프링 컨테이너를 사용하기 때문에 유닛 테스트가 아닌 스프링 부트를 사용하는 통합 테스트라고 봐야하는거 아닌지 궁금합니다.사례2는 순수하게 자바로 인스턴스를 생성해 테스트를 진행합니다. 따라서 완전히 스프링에서 독립된 유닛 테스트라고 볼 수 있을 것 같습니다. 그런데 이 경우, 스프링의 도움을 받지 않기 때문에 의존성 주입을 직접 해줘야 한다는 점이 걸립니다. 따라서 사례2 처럼 직접 인스턴스를 선언하여 생성자로 주입해주는 것이 좋은 코드인지 의문이 듭니다.MemberServiceImpl 코드를 보면 생성자에 자동 의존 주입이 명시되어있는데, 만약 사례2처럼 생성할때 직접 수동으로 삽입한다면 @Autowired는 무시되는 것인가요?
-
미해결스프링 핵심 원리 - 기본편
전체코드 어디서 볼 수 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨김영한의 실전 자바 - 기본편
메서드 참조값 반환
안녕하세요.<기본형과 참조형> 강의에서 메서드 안에 객체를 생성하고 이후 메인 메서드에서 이 참조값을 받아 출력하는 부분에 대해서 공부하고 있습니다. 근데 기본형에서 메모리 낭비를 하지 않기 위해 매개변수를 다 회수하는 것처럼 이것도 똑같이 적용된다고 생각하니 좀 헷갈려서요. 메서드가 종료되면 참조형 변수만 사라지고 여전히 인스턴스는 존재하나요? 그렇기 때문에 여기서 반환되는 참조값을 통해 메인 메서드에서 student1이 접근할 수 있는 거겠죠? static Student CreateStudent(String name, int age, int grade) { Student student = new Student(); student.name = name; student.age = age; student.grade = grade; return student; }답변 미리 감사합니다!
-
해결됨김영한의 실전 자바 - 기본편
객체 지향 프로그래밍 문제와 풀이 1번 문제
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]저는 Rectangle 클래스 안에서 넓이랑 높이를 5와 8로 초기화해주고 메인 메서드에서 출력할 때 객체로 출력하였는데 이렇게 했을 때의 문제점이 있을까요??
-
미해결김영한의 실전 자바 - 기본편
다운캐스팅에 대한 질
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)강의에서 다운캐스팅에 관해 이야기를 해주셨습니다.부모 클래스인 Parent 타입의 변수에 Parent 인스턴스를 생성해서 참조값을 해당 참조변수에 넣고Child 타입의 참조변수에 다운캐스팅을 하고 나서 해당 child 메서드를 호출하려고 했을 떄 오류가 발생했습니다. 여기서 영한님이 말씀해주신대로 생각해보면 Parent 인스턴스를 생성했을 때, 해당 메모리 안에 Parent 타입의 클래스 정보만을 저장했을테고 자식에 대한 정보가 해당 메모리 주소값 안에 없다. 따라서 다운캐스팅을 해도 자식클래스 메서드를 호출하지 못한다 -> 라고 생각하면 되는 건가요? 그렇지만 다시 생각해보면 메서드는 메서드 영역 내에서 가져다가 호출하는 방식인데, 그렇게 된다면 자식 클래스의 메서드 또한 메서드 영역내에서 불러오면 되니까 호출이 가능한 게 아닐까요..?궁금하네요
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
[8.배열][문제와풀이1] 문제 3번
안녕하세요 선생님선생님께서 올려주신 코드와 다르게 하기 처럼 코드를 작성해도 되는 부분인지 궁금증이 생겨 질의드립니다! [선생님 코드][제 코드]System.out.println("출력"); for (int i = numbers.length - 1 ; i >= 0 ; i--) { System.out.print(numbers[i]); if (i != 0) { System.out.print(", "); }(1. int 범위는 numbers.length길이보다 1더 적다 // 2. i는 0과 같지 않다)
-
해결됨김영한의 실전 자바 - 기본편
인스턴스 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Data dataA = new Data();dataA.value = 10;Data dataB = dataA;에서요 세번째줄에... dataB는 new 선언을 안했는데 쓰일 수 있는건가요?잘 이해가 되지 않아서요Data dataB = new Data();dataB = dataA; 라고 해야하는걸로 알고 있었는데선생님 코드로 해도 잘 되서 혼란스럽네요 ㅠㅠ
-
미해결스프링 핵심 원리 - 기본편
main 에서 실행시 finished with non-zero -exit value1 에러 발생
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] main을 실행 할때마다 아래와 같은 에러가 발생하는데Execution failed for task ':DemoApplication.main()'.> Process 'command 'C:\Program Files\Java\jdk-17\bin\java.exe'' finished with non-zero exit value 1* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 12s3 actionable tasks: 1 executed, 2 up-to-date 아래는 build 설정과 현재 저의 java 버젼입니다.Spring 3.2버전을 사용하고 있습니다. Build and run Using을 바꿀시에는 Intellij IDEA로 바꾸면 되긴하는데 변경하게 되면 rateDiscountPolicy 때문에 여기에서도 에러가 같이 나게 되버립니다. Build and run Using 을 Gradle로 사용해서 실행 시킬 방법은 없나요?
-
미해결김영한의 실전 자바 - 기본편
인스턴스 메서드, 클래스 메서드의 생성 시기 차이
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 자바의 메모리 구조 관련 강의를 보고 질문드립니다!인스턴스 메서드들은 인스턴스가 생성될 때마다 매번 메모리가 할당될 필요가 없기에 메서드 영역에 생성되는 것으로 이해했습니다. 정적 메서드 또한 정적이기에 메서드 영역에 할당되는 것으로 이해했습니다. 그렇다면 이 두 종류의 메서드 모두 메서드 영역에 메모리가 할당은 되는데, 생성되는 시점에 차이가 있는 걸까요?예를 들어서.. Student 라는 클래스가 있다고 가정하면, 해당 클래스의 첫 인스턴스가 생성되는 시점에 메서드 영역에 Student 클래스의 인스턴스 메서드들이 할당되는걸까요? 둘의 기능이나 의미상의 차이는 이해가 가는데, 메모리의 관점에서의 이해와 생성 시기의 차이가 이해되지 않는 것 같습니다.그리고 어디부터 어디까지가 클래스의 정보이기에 메서드 영역에 생성되는지 역시도 이해가 잘 가지 않습니다. JVM 로드 시에 메서드 영역에 할당되는 클래스의 정보에 인스턴스 메서드도 포함되는걸까요?제가 혹시 제대로 이해하지 못한 것이라면, 어떤 부분을 다시 들으면 좋을지도 알려주시면 정말 감사할 것 같습니다!
-
미해결스프링 핵심 원리 - 기본편
CoreApplication 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]test 전체 실행을 하였더니 java.lang.IllegalStateException: Failed to load ApplicationContext for [MergedContextConfiguration@4c777e7b testClass = hello.core.CoreApplicationTests, locations = [], classes = [hello.core.CoreApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@5a4ed68f, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@3956b302, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@100f9bbe, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1a78dacd, org.springframework.boot.test.context.SpringBootTestAnnotation@85e8c2c7], contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:180) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:141) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:97) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310) 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:762) at java.base/java.util.Optional.orElseGet(Optional.java:364) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [C:\Users\YWJEONG\study\core\out\production\classes\hello\core\member\MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:802) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:241) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1354) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1191) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:960) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:762) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:464) at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1458) at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:552) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) ... 17 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,memberRepository at org.springframework.beans.factory.config.DependencyDescriptor.resolveNotUnique(DependencyDescriptor.java:218) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1420) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) ... 41 more이런 오류가 뜹니다 ㅠㅠ
-
해결됨스프링 핵심 원리 - 기본편
excludeFilters 가 작동하지않는거같습니다 ㅜㅜ
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]안녕하세요 CoreApplication를 실행했는데 오류가 났습니다테스트 돌린 것들은 잘 작동 되었는데 CoreApplication을 실행하면 오류가나요 ㅜㅜ오류내용을 확인하면 AutoAppConfig에서 excludeFilters를 걸어 놓은게 제대로 작동을 안하는거같습니다오류내용은 아래와 같습니다.org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository @Configuration @ComponentScan( excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) //예제코드 때문에 필터 설정하였음.. ) public class AutoAppConfig { } 어느 부분이 문제가 있는지 혼자서 못찾겠습니다 도와주세요 ㅜㅜ
-
미해결스프링 핵심 원리 - 기본편
web 라이브러리 추가 후 메인 메서드 실행 에러
request스코프 예제 만들때 web 라이브러리를 아래와 같이 추가 한 뒤, coreApplication Main메서드를 run했을때오류가 떠서 문의 드립니다..!
-
미해결김영한의 실전 자바 - 기본편
예제 질문입니다
[질문 내용]질문1)public class RectangleOopMain { public static void main(String[] args) { Rectangle rectangle = new Rectangle(); rectangle.width = 5; rectangle.height = 8; rectangle.print(); } }public class Rectangle { int width; int height; void print(){ int area = calculateArea(); System.out.println("넓이: " + area); int perimeter = calculatePerimeter(); System.out.println("둘레 길이: " + perimeter); boolean square = isSquare(); System.out.println("정사각형 여부: " + square); } int calculateArea() { return width * height; } int calculatePerimeter() { return 2 * (width + height); } boolean isSquare() { return width == height; }Main에 있는 출력을 클래스로 빼서 풀었는데이렇게 풀어도 되는지, 비효율적인지 궁금합니다. 질문2) public class Account { int balance; void deposit(int amount){ balance += amount; } void withdraw(int amount){ if (balance >= amount){ balance -= amount; }else if (balance < amount){ System.out.println("잔액 부족"); } } }Account 문제에서 void deposit 과 void withdraw 클래서에서 return balance를 하지 않아도 되는 이유가 궁금합니다.
-
미해결김영한의 실전 자바 - 기본편
다형성과 상속에 관해 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.1.해당 강의에서 Car이라는 interface인데 Private Car car처럼 인스턴스를 생성할 수 있는건가요?? 2.setCar(Car car) 함수를 사용할 때, Car라는 interface를 구현한 클래스인 K3Car와 Model3Car만 매개변수로 사용할 수 있다. 왜냐하면, 인터페이스(Car)와 그 인터페이스의 구현 클래스(K3Car와 Model3Car)는 부모와 자식같은 상속과도 같은 관계이기 때문이다.이렇게 위와 같이 이해했는데 옳게 이해한 것이 맞나요? 3.마지막으로 private static 이렇게 작성하실 때가 종종 있는데 이렇게 작성하시는 이유가 잘 이해가 안됩니다.private를 사용하면 => 해당 클래스에서만 사용하겠다는 의미static을 사용하면 => 메모리에 올려서 전역으로 사용하겠다는 의미라고 이해를 했는데 어떻게 private와 static을 같이 쓸 수 있는건가요??
-
미해결스프링 핵심 원리 - 기본편
DI(의존관계 주입)에 대한 질문입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]위 코드에서 ac에는 어떤것이 DI되어 입력되는건지 잘 모르겠습니다.ac에 AnnotationConfigAplicationContext가 들어가는게 맞나요?
-
미해결김영한의 실전 자바 - 기본편
Scanner 문제
scanner.nextInt() 다음에 바로 scanner.nextLine()을 하는 이유는 무엇인가요? 그리고 위 코드처럼 하지 않을 시에 왜 이러한 결과가 발생하는지 궁금합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
var 타입은 왜 사용을 잘 하지 않나요?
[질문 내용]var타입은 컴파일때 자바가 타입을 추론해서 자동으로 변환해준다고 알고있습니다. 그러면 엄청 편리한 타입인거 같은데 막상 보면 var 를 사용하는 것을 많이 보지 못한거 같습니다. var타입보다 int, String,,, 등등 이러한 명시된 타입이 더 많이 사용되는 이유가 궁금합니다.