묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
인텔리제이 오류
클래스 실행시에 간헐적으로 오류가 발생하네요.빌드를 10번하면 7번정도 오류가 발생하는것 같아요. 포트를 이미 사용중이라는 것 같은데... 인터넷에 쳐봐도 해결방법이 안나오네요...혹시 해결법 아시는분 계실까요?? Abnormal build process termination: C:\Users\박정찬\.jdks\openjdk-21.0.1\bin\java.exe -Xmx700m -Djava.awt.headless=true "-Djna.boot.library.path=C:\Program Files\JetBrains\IntelliJ IDEA 2023.1.3/lib/jna/amd64" -Djna.nosys=true -Djna.noclasspath=true --add-opens jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-opens jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED "-Dpreload.project.path=C:/Users/박정찬/Desktop/인터넷 강의 자료/자바 김영한/java-basic" -Dpreload.config.path=C:/Users/박정찬/AppData/Roaming/JetBrains/IntelliJIdea2023.1/options -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Didea.IntToIntBtree.page.size=32768 -Djdt.compiler.useSingleThread=true -Daether.connector.resumeDownloads=false -Dio.netty.initialSeedUniquifier=1929828927587536610 -Dfile.encoding=x-windows-949 -Duser.language=ko -Duser.country=KR -Didea.paths.selector=IntelliJIdea2023.1 "-Didea.home.path=C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3" -Didea.config.path=C:/Users/박정찬/AppData/Roaming/JetBrains/IntelliJIdea2023.1 -Didea.plugins.path=C:/Users/박정찬/AppData/Roaming/JetBrains/IntelliJIdea2023.1/plugins -Djps.log.dir=C:/Users/박정찬/AppData/Local/JetBrains/IntelliJIdea2023.1/log/build-log "-Djps.fallback.jdk.home=C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/jbr" -Djps.fallback.jdk.version=17.0.7 -Dio.netty.noUnsafe=true -Djava.io.tmpdir=C:/Users/박정찬/AppData/Local/JetBrains/IntelliJIdea2023.1/compile-server/java-basic_51dbb69c/_temp_ -Djps.backward.ref.index.builder=true -Dtmh.instrument.annotations=true -Dtmh.generate.line.numbers=true "-Djps.kotlin.home=C:\Program Files\JetBrains\IntelliJ IDEA 2023.1.3\plugins\Kotlin\kotlinc" -Dkotlin.incremental.compilation=true -Dkotlin.incremental.compilation.js=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=\"C:\Users\박정찬\AppData\Local\Temp\kotlin-idea-10692411316084801441-is-running\" -Dide.propagate.context=false -classpath "C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/java/lib/jps-launcher.jar" org.jetbrains.jps.cmdline.Launcher "C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/java/lib/jps-builders.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/java/lib/jps-builders-6.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/java/lib/jps-javac-extension.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/lib/util.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/lib/util-8.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/lib/util_rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/lib/annotations.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/lib/3rd-party-rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/lib/protobuf.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/lib/jps-model.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/java/lib/javac2.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/lib/forms_rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/java/lib/aether-dependency-resolver.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/lib/idea_rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/JavaEE/lib/jasper-v2-rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/lib/util.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/eclipse/lib/eclipse-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/eclipse/lib/eclipse-common.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/ant/lib/ant-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/JavaEE/lib/javaee-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/uiDesigner/lib/jps/java-guiForms-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/space/lib/space-java-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/devkit/lib/devkit-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/platform-langInjection/lib/java-langInjection-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/javaFX/lib/javaFX-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/javaFX/lib/javaFX-common.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/Groovy/lib/groovy-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/Groovy/lib/groovy-constants-rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/maven/lib/maven-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/gradle-java/lib/gradle-jps.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/JPA/lib/jps/javaee-jpa-jps.jar" org.jetbrains.jps.cmdline.BuildMain 127.0.0.1 49155 24ad3385-4fa5-4cd4-9376-31335102b646 C:/Users/박정찬/AppData/Local/JetBrains/IntelliJIdea2023.1/compile-serverBe careful, logger will be shut down earlier than application: Unable to make field private static java.util.IdentityHashMap java.lang.ApplicationShutdownHooks.hooks accessible: module java.base does not "opens java.lang" to unnamed module @2f4d3709Build process started. Classpath: C:/Program Files/JetBrains/IntelliJ IDEA 2023.1.3/plugins/java/lib/jps-launcher.jarError connecting to 127.0.0.1:49155; reason: Address already in use: no further information: /127.0.0.1:49155io.netty.channel.AbstractChannel$AnnotatedSocketException: Address already in use: no further information: /127.0.0.1:49155Caused by: java.net.BindException: Address already in use: no further information at java.base/sun.nio.ch.Net.pollConnect(Native Method) at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:682) at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:973) at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:689) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:652) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:1583)Exiting.
-
미해결김영한의 실전 자바 - 중급 1편
Wrapper 클래스는 static 클래스인건가요?
강의 중간에 보면 Integer.valueOf(10) 이런식으로 바로 사용이 가능하던데그렇다면 Integer는 static 클래스여야하지 않나 싶었습니다근데 Integer 클래스로 올라가니 이렇게 나오는데, static클래스가 아닌건가요?
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
구현과 오버라이딩
추상 클래스 내의 추상 메서드가 하위 클래스가 구현해야 하는 메서드라는 것은 { } 이렇게 중괄호까지만 표기가 되어도 되는 건가요?구현은 구현부 { } 표기가 된 것이고 오버라이딩은 구현부 내에 코드가 있던 것을 다시 재정의 할 때를 말하는 건가요?추상클래스의 바로 아래 하위 클래스에서 추상 메서드는 구현만 가능하고 오버라이딩 되는 것은 아닌건가요?
-
미해결김영한의 실전 자바 - 기본편
1강 문제풀이 질문입니다.
강의 클래스와 데이터 문제풀이 6분 45초에서 아래와 같이 작성하면 productName에서 빨간 줄이 나오는데 객체를 생성을 안하고 바로 객체 배열에 접근해서 그러는건가요?package ex1;public class ProductOrderMain { public static void main(String[] args) { ProductOrder[] orders= new ProductOrder[3]; ProductOrder order1= new ProductOrder(); orders.productName="두부"; }}
-
미해결스프링 핵심 원리 - 기본편
isInstanceOf
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]assertThat(memberRepository).isInstanceOf(MemberRepository.class);"인터페이스가 구현 클래스의 인스턴스면 성공" 인데 이게 무슨 말인지 잘 이해가 가지 않습니다.
-
미해결김영한의 실전 자바 - 기본편
강의:클래스가 필요한 이유 (9분11초)에대한 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.for 문 (studentNames.length) 부분에 studenAges 또는 studentGrade를 넣어도 결과 값은 똑같이 나오는데 맞는 코딩인가요?코린이라서 이런 식으로 질문하는 게 맞는지 모르겠네요답변 주시면 감사하겠습니다!
-
미해결스프링 핵심 원리 - 기본편
localhost 8080
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]구글드라이브https://drive.google.com/file/d/18wTrlbj52ce_TvtqyIKrY_tbfeHwuFnS/view?usp=sharing저는 아래와 같은 오류가 발생하며 localhost 8080에 연결이 되지 않습니다.
-
미해결김영한의 실전 자바 - 기본편
생성자 호출 시 볼륨이 100을 초과하는 경우
[질문 내용]생성자에서는 100초과의 경우를 따로 생각하지 않은 것으로 보입니다. 그렇다면 생성자를 호출할 때 파라미터로 200을 넣는 경우는 방지할 수 없는데요. (아직 다음 강의를 수강하지 않은 상태입니다. 혹시 해결 방법이 다음 강의에 있다면 알려주세요!)이런 경우 저는 다음과 같이 제어하는 방향을 생각했습니다.public Speaker(int volume){ if(volume > 100){ // 100을 초과할 수 없다고 경고하기 // volume을 최대 음량인 100으로 설정하기 System.out.println("음량은 최대 100을 넘길 수 없습니다.") System.out.println("음량을 최대 음량인 100으로 설정합니다.") this.volume = volume; } else{ this.volume = volume; } 혹시 현업에서는 어떤 방식으로 이를 제어하는지 궁금합니다.
-
미해결김영한의 실전 자바 - 기본편
다운캐스팅에 관하여 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 혼자서 공부를 하다가 다운캐스팅 주의점에 관하여 궁금한점이 생겨서 질문드립니다. 사진처럼 코드를 작성하니 ClassCastException이 발생하고 1이아닌 "a" 처럼 문자열을 넣으면 발생하지 않더라고요제가 어렵게 생각을 하는건지 모르겠는데 직접 정의한 클래스들로 다운캐스팅을 설명해주실때는 인스턴스의 참조값이 메모리상에 생성이 되고 없는 인스턴스로 다운캐스팅하려하면 런타임오류가 난다이런식으로 이해가 가는데 사진처럼 자바에 내장되어있는 Object나 String클래스로 저렇게 다운캐스팅할때는 어떤식으로 ClassCastException이 발생하는지 모르겠습니다. 저 코드에서 b에대한 참조값이 생성이 되는건가요?b에 int형이 들어오든 String타입이 들어오든 b는 Object타입인건가요? 2질문이 yes라면 왜 b에 대입한 타입에따라 결과가 바뀌는지 모르겠습니다.
-
미해결스프링 핵심 원리 - 기본편
이것 때문에 진도를 못 나가고 있는데 혹시 강사님이 진행하신 코드를 다운받을 수 있을까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]https://www.inflearn.com/questions/1241959/%EA%B0%95%EC%9D%98%EB%A5%BC-%EB%94%B0%EB%9D%BC%EA%B0%80%EB%8B%A4%EA%B0%80-%ED%95%98%EB%82%98%EC%9D%98-%EB%B9%88%EC%9D%B4-%ED%95%84%EC%9A%94%ED%95%9C%EB%8D%B0-2%EA%B0%9C%EC%9D%98-%EB%B9%88%EC%9D%B4-%EC%A1%B0%ED%9A%8C%EB%90%9C%EB%8B%A4%EA%B3%A0-%EB%82%98%EC%98%A4%EB%A9%B4%EC%84%9C-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%84%9C%EB%B2%84%EA%B0%80-%EB%9D%84%EC%9B%8C%EC%A7%80%EC%A7%80-%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4 이 링크가 제가 어제 질문했던 부분인데요답변을 봐도 영한님이 쓰신 코드랑 똑같이 진행했던 코드라 틀리는 게 아무리 봐도 이해가 되질 않습니다 영한님의 컴포넌트 부분 코드를 다운 받을 수 있을까요?아니면 제 코드를 첨부하고 싶은데 여기에 첨부할 수가 없어서 너무 답답합니다 ㅠㅠ 빨리 진도도 나가고 싶은데 이런 이유도 모르는 부분에서 막히니 이거에만 계속 매달리고 있어요
-
미해결김영한의 실전 자바 - 중급 1편
래퍼클래스 문제와풀이2 질문
저는 문제를 읽고 객체를 만들어야겠다는 생각은 전혀 하지 못해서... 객체를 만드셔야겠다고 생각하신 이유가 궁금합니다물론 객체를 만들지 않고 작성해도 괜찮다고 하셨는데객체를 만들겠다는 생각은 제가 아예 하지 못한 생각이어서 문제 요구사항을 기준으로 어떤 부분이 객체를 만들어야겠다고 도출해 낼 수 있는 부분일까요?나중에 회사에 가서도 비즈니스 요구사항에 따라 코드를 작성해야 할 텐데 글을 코드로 바꾸는 실력이 부족해서 경험의 영역일 수 있지만 요구사항을 변수와 함수, 객체로 도출해 낼 때 꿀팁 있다면 궁금합니다!!
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
Scanner
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Scanner scanner = new Scanner(System.in); Scanner input = new Scanner(System.in); 이 둘의 차이가 있는 걸까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ScannerWhileEx4
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (네)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (네)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (네)[질문 내용]강사님이랑 똑같은 코드를 작성했고그런데도 자꾸 상품 입력 하자마자 오류가 뜨는데아무리 봐도 오류를 모르겠고 심지어 다운 받은 코드 복붙해서 실행해봐도 이렇게 계속 뜨는데 이유를 모르겠어요..
-
미해결스프링 핵심 원리 - 기본편
request scope의 http 요청
"request: HTTP 요청 하나가 들어오고 나갈 때 까지 유지되는 스코프, 각각의 HTTP 요청마다 별도의 빈 인스턴스가 생성되고, 관리된다." 여기서 HTTP 요청이라는게 사용자가 웹 브라우저 주소창에 URL을 입력하는 것인지 아니면 myLoggerProvider.getObject();코드가 컨테이너에 MyLogger 빈의 존재 유무를 묻는 걸 뜻하는건지 궁금합니다
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)
ChatRoom에서 synchronized 사용 이유
당장에는 문제가 발생하지 않아도 나중에 많은 쓰레드의 공유 자원에 대해서는 동기화 처리가 필요하기 때문에 synchronized method로 선언한걸까요?해당 예제에서는 모종의 이유로 연결이 해제되어 ChatRoom에서 remove되어야 할 때 해당 쓰레드만이 remove()를 호출하여 동기화 처리가 굳이 필요 없는게 아닌지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
강의를 따라가다가 하나의 빈이 필요한데, 2개의 빈이 조회된다고 나오면서 스프링 서버가 띄워지지 않습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]스프링 핵심 원리 - 기본편 수강 도중 영한님 코드를 보면서 실습하면서 진행하다가 스프링을 띄우면 갑자기 아래의 오류가 발생합니다. Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined in file [/Users/wonjunjeong/study/inflearn/kim/project/core/out/production/classes/hello/core/member/MemoryMemberRepository.class] - memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class] @Component 애노테이션 때문이라고 생각되는데요, 코드를 보시면 아시겠지만, 이 애노테이션을 교재에 나와있는 것처럼 MemoryMemberRepository, RateDiscountPolicy, MemberServiceImpl, OrderServiceImpl에다가만 넣었습니다.그랬는데도 위와 같은 오류가 발생하는 게 이해가 가질 않아 질문 드립니다.분명 AutoAppConfig 클래스에서 excludeFilters로 Configuration.class를 제외했는데도 불구하고 이런 빈 오류가 발생하는 이유를 모르겠습니다.전체 코드를 올리고 싶지만 파일 업로드가 안 되는 것 같아, AppConfig와 MemoryMemberRepository 두 코드만 아래에 올리겠습니다. package hello.core; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.MemberRepository; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.member.MemoryMemberRepository; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { // @Bean: memberService -> new MemoryMemberRepository() // @Bean: orderService -> new MemoryMemberRepository() @Bean public MemberRepository memberRepository() { System.out.println("Call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public DiscountPolicy discountPolicy() { // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } @Bean public MemberService memberService() { System.out.println("Call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService() { System.out.println("Call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } } package hello.core.member; import java.util.HashMap; import java.util.Map; import org.springframework.stereotype.Component; @Component public class MemoryMemberRepository implements MemberRepository { private static Map<Long, Member> store = new HashMap<>(); @Override public void save(Member member) { store.put(member.getId(), member); } @Override public Member findById(Long memberId) { return store.get(memberId); } }
-
해결됨스프링 핵심 원리 - 기본편
UnsatisfiedDependencyException이 떠서 CoreApplicationTests가 안됩니다..
UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [/Users/yungyeong-il/Desktop/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 이렇게 애러가 떴는데 어떤걸 고쳐할지 모르겠습니다. 현재 강의는 색션7 의존관계 자동 주입 옵션처리 듣던중에 발견했습니다!
-
해결됨스프링 핵심 원리 - 기본편
NoUniqueBeanDefinitionException 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]안녕하세요! 현재 기본편 Sec 7에 옵션처리 쪽을 듣고 있습니다. 2분 쯤 중에 오류가 나서 같이 라이브 코딩을 하면서 오류를 고치고 있었습니다. 하지만 영한님께서 오류를 고쳤지만 저는 자바 `CoreApplicationTest`에서 오류가 납니다. 오류의 내용은 IllegalStateException, UnsatisfiedDependencyException, NoUniqueBeanDefinitionException 세가지 오류가 납니다. NoUniqueBeanDefinitionException는 이름이 같은 Bean이 있는거 같아서 열심히 @Component 가 붙은 클래스들을 살펴보았습니다. 하지만 제가 봤을때는 중복된 Bean이 보이지 않았습니다. 오류의 내용 중에 memberServiceImpl에서 같은 빈이 두개가 발견되었다고 하던군요. 아마 제가 찾지 못하는 거 같은데 혼자서 오류를 찾을려고 잘 보이지도 않고 막막해서 질문 드립니다. 다음은 압축한 코드입니다. https://drive.google.com/file/d/1nie2IVX8eCfmNC4PmjTr9uMowFjMoEpm/view?usp=sharing
-
해결됨김영한의 실전 자바 - 중급 1편
StringBuilder클래스, String클래스 toString() 메서드 질문.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. "챕터3.StringBuilder -가변 String" 에서 @@.toString()을 사용하면 객체의 주소값이 아니라 value값이 나오는 것을 보고.. 이것도 자바가 오버라이딩 되어 있는 것이라고 생각을 하게 되는데. StringBuilder 라는 클래스 및 String클래스는(이것도 "toString()"를 찍으니 같음)오버라이딩 해서 value값만 나온다고만 이해해도 되는건가요?(지금 배우는 과정에서는 여기까지만 충분하다.) 아니면 이것에 대해서 공부 를 더 깊게 들어가야하나요?
-
미해결스프링 핵심 원리 - 기본편
gradle 추가 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]구글 드라이브https://drive.google.com/file/d/19HZLXOHOBKSSTVnudj6r6RXOBZu5elEy/view?usp=sharing 안녕하세요 강의 9분쯤 build.gradle 부분에서 버전에 따라 다 실행 해봤는데 아래와 같은 오류가 발생하여 질문 남깁니다. 제 스프링 부트 버전은 v3.2.4로 알고있습니다.