묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
개발환경 설정 관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 개발환경 설정중인데 JDK21버전으로 설정 후vendor 선택하려니까 Oracle OpenJDK22만 뜨고 Oracle OpenJDK22로 선택하면 JDK버전이 자동으로 22로 바뀝니다.22버전으로 설정해도 괜찮은건가요?
-
미해결김영한의 실전 자바 - 기본편
static 메소드 안에 지역 변수
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 제가 이해한게 맞는지 확인하고자 질문 남깁니다.static 메소드와 변수는 메소드 영역에 저장이 되는데 그렇다면 static 메소드 안에서 생성된 지역 변수는 stack 영역에 할당되는 것인가요? 아니면 함께 메소드 영역 내부에 저장이 되나요?
-
미해결습관부터 바꿔주는 Node.js & Express 기초
윈도우는 터미널을 뭘 써야하나요?
05:28 부터 윈도우와 맥이 동일하다고 하셨는데 윈도우는 무슨 터미널을 이용해서 진행하나요 ㅠㅠㅠ cmd도 안되고 powershell도 안되고 vim을 깔아봐도 안되는데요..............
-
해결됨코딩테스트 [ ALL IN ONE ]
개인 블로그에 정리하여 업로드
안녕하세요 지식공유자님덕분에 많은 도움이 되고 있습니다.강의 영상 캡쳐 및 내용 정리를 활용하여 개인블로그에 업로드해도 될까요? 출처는 해당 인프런 강의 링크를 달도록하겠습니다.
-
미해결코로나맵 개발자가 알려주는 React + Express로 지도서비스 만들기 (Typescript)
카카오 맵 api
안녕하세요 혹시 앞으로 강의를 진행하는데 카카오 api를 사용해도 큰문제는 없을까요
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Validator의 supports 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]supports에서 주석 처리된Item.class.isAssignableFrom(aClass.getClass());로 실행해보니 Validator를 추가하는 부분에서 에러가 발생했습니다. 그래서 return aClass.isAssignableFrom(Item.class)로 바꾸니 정상 동작하더라고요. 왜 aClass와 Item.class의 순서를 바꿨을 때 정상 동작하는지 잘 모르겠어서 질문드립니다. Item.class.isAssignableFrom(aClass.getClass()) 이렇게 사용해야지 aClass(파라미터로 전달받는 객체)가 Item 클래스의 자식일 때도 true로 반환하지 않나요?
-
미해결파이썬 무료 강의 (활용편6) - 이미지 처리 (OpenCV)
PIL OSError: unknown file format 에러
안녕하세요?강의 잘 수강하고 있습니다. 한글을 적용하는 수업에서 하기와 같이 소스코드를 따라서 쳤습니다.파이썬 버전 : 3.12.2opencv 버전 : 4.9.0import cv2 as cvimport numpy as np#PIL (Python Imaging Library) : 이미지 처리를 위한 파이썬 라이브러리from PIL import ImageFont, ImageDraw, Imagedef myPutText(src, text, pos, font_size, font_color):img_pil = Image.fromarray(src)draw = ImageDraw.Draw(img_pil)font = ImageFont.truetype('fonts/gulim.ttc', font_size)draw.text(pos, text, font=font, fill=font_color)return np.array(img_pil)img = np.zeros((480, 640, 3), np.uint8)COLOR = (255, 255, 255)FONT_SIZE = 30img = myPutText(img, "나도코딩", (20, 50), FONT_SIZE, COLOR)cv.imshow('img', img)cv.waitKey(0)cv.destroyAllWindows() 이렇게 작성해서 실행을 하면 OSError: unknown file format 에러가 출력됩니다.인터넷 검색을 해보니 Pillow를 다시 설치해봐라, Image를 다시 설치해봐라많은 조언이 있었는데 결국 성공한 것이 없었습니다. 왠지 제 파이썬 경로상에 PIL이 제대로 설치가 안됐거나 다른 엉뚱한 것을 참조해서 발생하는 문제 같기도 한데 또 vscode의 python 인터프리터는 제대로 설정해서 PIL 작성부분에 오류는 뜨지 않습니다. 혹시 조언을 해주실 수 있으실까요?감사합니다.
-
미해결
Controller와 RestController를 분리해야 하나요?
스프링부트 프로젝트를 설계하고 있는데, 지금까지는 그냥 @Controller에 api 요청도 @ResponseBody로 다 때려박는 식으로 코딩을 했습니다.그런데 api 요청만을 따로 관리하는 @RestController를 생성하는 것이 나중에 유지보수에 더 편할까요?Controller들의 분리 및 관리를 어떻게 하는 것인지 궁금합니다.
-
해결됨웰컴 투 태블로 월드
샘플 갤러리가 안보입니다
안녕하세요 좋은 강의 너무 잘 듣고 있습니다 감사합니다다름 아니라, 도움말-샘플 갤러리에서 진행하라고 하셨는데,제가 tableau desktop professional edition 2024.1.0.버전 쓰고 있는데도움말에 들어가도 '샘플갤러리'가 없습니다..혹시 새 버전에는 샘플갤러리가 없는건가요? ㅠㅠ 강의 보면서 같이 따라하고 싶은데 어떻게 하면 될까요?
-
미해결만들면서 배우는 리액트: 컴포넌트 설계와 리팩토링
<> </> 의미
function App() { const [count, setCount] = useState(0) return ( <> ... </> ) }제가 놓쳤을수도 있는데, <> , </> 의미를 뒷부분에 설명한다고 했는데, 끝까지 설명이 안나온것 같습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
프러스텀 컬링 질문있습니다.
제가 여태까지 알고있던바로는원근투영을 하게되면 절두체가 생성이되고 3D->2D 로 투영되고,프러스텀컬링도 자동으로 되는걸로 알고있었는데.. 프러스텀컬링은원래 따로처리해줘야하나요 ?
-
미해결[중급편] 친절한 JETPACK 개론 <상> (Android Kotlin)
Retrofit 간단한 예제 변경 강의중에서
강사님 늘 감사드리고 건강하시고 부자되세요아래의 코드를 작성하여 실해하여도 에뮬레이터에 아무런 출력이 생기지 않는데 왜 그런지 ...자료는 git 에 올려두었습니다 https://github.com/dongguntechnology/RetrofitViewModelScope
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
캐릭터 피격 버그 관련 질문
안녕하세요, 강사님. 금일 마지막 강의까지 무사히 완강하였는데요, 캐릭터 피격과 관련해서 버그가 있는 것 같아 여쭈어보고자 합니다. 버그 현상은 캐릭터가 사망 후에 부활했을 때, 부활한 캐릭터를 다시 공격하면 정상적으로 피격이 되지 않는 문제입니다. 드로우 디버깅을 보면 공격 자체가 정상적인 피격 판정이 이루어지지 않는 것 같습니다.언제는 한 번 사망 후 부활했을 때부터 피격이 안되는 경우가 있고, 언제는 두 번째 사망 후 부활했을 때부터 피격이 안되는 경우가 발생합니다. 혹시나 제가 코드를 따라서 입력하는 과정에서 문제가 있나하여 올려주신 수업 자료 파일을 그대로 실행해서 확인해보았는데 여전히 같은 문제가 있었습니다. 어떠한 이유로 이러한 현상이 발생하는 것일까요?? 동영상 첨부가 어려워 제가 게임을 한 번 진행하는 동안 발생했던 모습을 사진과 과정으로 첨부하겠습니다.1. 서버 플레이어가 클라이언트 플레이어 첫 번 째 킬 2. 이후 서버 플레이어가 부활한 클라이언트 플레이어 공격 시 피격 되지 않음 3. 2번 상황 이후 반대로 클라이언트 플레이어가 서버 플레이어 첫 번째 킬 4. 이후 부활한 서버 플레이어를 클라이언트 플레이어가 두 번째 킬 5. 이후 한 번 더 부활한 서버 플레이어를 클라이언트 플레이어가 공격 시 피격 되지 않음
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
테스트 수행 결과가 항상 에러가 발생합니다.
안녕하세요. 해당 강의를 듣고 있는 수강생입니다. 제가 작성한 코드에서는 계속 테스트가 실패하여 강사님이 올려주신 코드를 기반으로 테스트를 재수행하였습니다. 그런데 여전히 해당 화면처럼 테스트가 실패하여서 어떤 문제일까하여 질문드립니다.코드 : https://github.com/sangyongchoi/stock-example 이슈 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.0) 2024-03-24 19:26:47.245 INFO 5004 --- [ main] c.e.s.facade.NamedLockStockFacadeTest : Starting NamedLockStockFacadeTest using Java 17.0.10 on windows with PID 5004 (started by ac2di in C:\Users\ac2di\Desktop\vscode\stock-example-main) 2024-03-24 19:26:47.247 INFO 5004 --- [ main] c.e.s.facade.NamedLockStockFacadeTest : No active profile set, falling back to 1 default profile: "default" 2024-03-24 19:26:48.250 INFO 5004 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! 2024-03-24 19:26:48.252 INFO 5004 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2024-03-24 19:26:48.519 INFO 5004 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 257 ms. Found 2 JPA repository interfaces. 2024-03-24 19:26:48.532 INFO 5004 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! 2024-03-24 19:26:48.535 INFO 5004 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. 2024-03-24 19:26:48.553 INFO 5004 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.example.stock.repository.LockRepository. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2024-03-24 19:26:48.554 INFO 5004 --- [ main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.example.stock.repository.StockRepository. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2024-03-24 19:26:48.554 INFO 5004 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 8 ms. Found 0 Redis repository interfaces. 2024-03-24 19:26:49.201 INFO 5004 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2024-03-24 19:26:49.275 INFO 5004 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.9.Final 2024-03-24 19:26:49.465 INFO 5004 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2024-03-24 19:26:49.622 INFO 5004 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2024-03-24 19:26:49.962 INFO 5004 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2024-03-24 19:26:49.986 INFO 5004 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2024-03-24 19:26:50.663 DEBUG 5004 --- [ main] org.hibernate.SQL : drop table if exists stock Hibernate: drop table if exists stock 2024-03-24 19:26:50.708 DEBUG 5004 --- [ main] org.hibernate.SQL : create table stock (id bigint not null auto_increment, product_id bigint, quantity bigint, version bigint, primary key (id)) engine=InnoDB Hibernate: create table stock (id bigint not null auto_increment, product_id bigint, quantity bigint, version bigint, primary key (id)) engine=InnoDB 2024-03-24 19:26:50.762 INFO 5004 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2024-03-24 19:26:50.775 INFO 5004 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2024-03-24 19:26:51.083 INFO 5004 --- [ main] org.redisson.Version : Redisson 3.17.4 2024-03-24 19:26:51.313 INFO 5004 --- [isson-netty-2-6] o.r.c.pool.MasterPubSubConnectionPool : 1 connections initialized for localhost/127.0.0.1:6379 2024-03-24 19:26:51.468 INFO 5004 --- [sson-netty-2-20] o.r.c.pool.MasterConnectionPool : 24 connections initialized for localhost/127.0.0.1:6379 2024-03-24 19:26:52.949 WARN 5004 --- [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2024-03-24 19:26:54.634 INFO 5004 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint(s) beneath base path '/actuator' 2024-03-24 19:26:54.714 INFO 5004 --- [ main] c.e.s.facade.NamedLockStockFacadeTest : Started NamedLockStockFacadeTest in 7.788 seconds (JVM running for 9.06) 2024-03-24 19:26:55.040 DEBUG 5004 --- [ main] org.hibernate.SQL : insert into stock (product_id, quantity, version) values (?, ?, ?) Hibernate: insert into stock (product_id, quantity, version) values (?, ?, ?) 2024-03-24 19:26:55.051 TRACE 5004 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [1] 2024-03-24 19:26:55.052 TRACE 5004 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [BIGINT] - [100] 2024-03-24 19:26:55.052 TRACE 5004 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [3] as [BIGINT] - [0] 2024-03-24 19:26:55.251 DEBUG 5004 --- [ main] org.hibernate.SQL : select stock0_.id as id1_0_0_, stock0_.product_id as product_2_0_0_, stock0_.quantity as quantity3_0_0_, stock0_.version as version4_0_0_ from stock stock0_ where stock0_.id=? Hibernate: select stock0_.id as id1_0_0_, stock0_.product_id as product_2_0_0_, stock0_.quantity as quantity3_0_0_, stock0_.version as version4_0_0_ from stock stock0_ where stock0_.id=? 2024-03-24 19:26:55.253 TRACE 5004 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [1] 2024-03-24 19:26:55.316 DEBUG 5004 --- [ main] org.hibernate.SQL : select stock0_.id as id1_0_, stock0_.product_id as product_2_0_, stock0_.quantity as quantity3_0_, stock0_.version as version4_0_ from stock stock0_ Hibernate: select stock0_.id as id1_0_, stock0_.product_id as product_2_0_, stock0_.quantity as quantity3_0_, stock0_.version as version4_0_ from stock stock0_ 2024-03-24 19:26:55.334 DEBUG 5004 --- [ main] org.hibernate.SQL : delete from stock where id=? and version=? Hibernate: delete from stock where id=? and version=? 2024-03-24 19:26:55.335 TRACE 5004 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [BIGINT] - [1] 2024-03-24 19:26:55.335 TRACE 5004 --- [ main] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [BIGINT] - [0] 2024-03-24 19:26:55.437 INFO 5004 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2024-03-24 19:26:55.441 INFO 5004 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2024-03-24 19:26:55.514 INFO 5004 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.테스트 수행 시 콘솔 출력 창도 같이 첨부드립니다. 감사합니다.
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
let num2 = 10 as unknown;
let num2 = 10 as unknown;은 어떻게 가능한건가용? 10은 unknown의 다운 캐스팅이라서 안되는거 아닌가용?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
맥 터미널창에서 파일을 찾을수 없다고 떠요,,
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]spring 파일에 hello-spring을 생성했고터미널에서 cd spring을 입력하면 파일을 찾을 수 없다고 뜨는데 어떻게 해야하나요??
-
미해결[LV1] Jetpack Compose - UI 연습하기
@OptIn(ExperimentalMaterial3Api::class) 질문
안녕하세요 강사님! 좋은 강의 감사합니다텍스트필드 함수를 만들때 @Composable 위에 또 @OptIn 어노테이션이 추가가 되는데 제가 작성할때에는 추가가 안되어도 딱히 에러가 발생하고 그러진 않는것 같더라구요혹시 OptIn이 어떨때 쓰는건지? 에러가 발생하지 않는다면 생략이 가능한 부분인건지 질문드립니다!
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
공유자원과 임계구역
안녕하세요 선생님강의 정말 잘 듣고 있습니다..!레지스터에 대한 설명이 잠깐 나와서 궁금한 점이 생겼는데요..!생산자-소비자 문제를 설명하시면서, sum = sum + 1;sum -= 1;기계어로 쪼개보면 원자성이 보장되지 않아 문제가 발생하는 것을 확인했습니다.그런데 값을 읽고, 연산할 때 eax 레지스터를 사용하는 것으롭 봤는데요..!두 곳에서 사용되는 각 eax는 이름만 같을 뿐 사용되는 영역은 달라서 위에 eax는 1이고, 아래의 eax는 -1을 가지는 건가요??
-
미해결대세는 쿠버네티스 (초급~중급편)
RollingUpdate 실패 관련
안녕하세요? deployment 실습 중 rolling update 가 잘 되지 않아서 문의드립니다. rolling update 를 시도하면, v2 버전 pod가 1개만 생성되고, v1 버전 pod는 지속 남아있는 상태로 더 이상 업데이트 가 되지 않습니다. (Recreate은 잘 됩니다.)replicationset 조회 시 아래와 같이 나오는데, 무엇을 잘못한 것인지 잘 모르겠습니다. NAME DESIRED CURRENT READY AGEdeployment-222-5c778cb597 1 1 1 3m46sdeployment-222-5cd5969ff6 2 2 2 5m44s공유해주신 v1.27 image 사용중입니다.
-
미해결스프링 핵심 원리 - 기본편
싱글톤인데 다른 인스턴스가 조회되는 이유는 뭘까요?
싱글톤 테스트를 했는데요findByName()에서 생성한 memberService1, memberService2는 같은 인스턴스가 조회가 됩니다.그런데 findByType에서 생성한 memberService는 memberService1, memberService2와 다른 인스턴스가 조회 됩니다.AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);는 한번 선언됬는데.....테스트라서 그런가요? @Test @DisplayName("빈 이름으로 조회") public void findByName(){ MemberService memberService1 = ac.getBean("memberService", MemberService.class); System.out.println("memberService1 = " + memberService1); System.out.println("memberService1.getClass() = " + memberService1.getClass()); assertThat(memberService1).isInstanceOf(MemberService.class); MemberService memberService2 = ac.getBean("memberService", MemberService.class); System.out.println("memberService2 = " + memberService2); System.out.println("memberService2.getClass() = " + memberService2.getClass()); assertThat(memberService2).isInstanceOf(MemberService.class); assertThat(memberService1).isSameAs(memberService2); } @Test @DisplayName("빈 타입으로 조회") public void fineByType(){ MemberService memberService = ac.getBean(MemberService.class); System.out.println("memberService = " + memberService); System.out.println("memberService.getClass() = " + memberService.getClass()); assertThat(memberService).isInstanceOf(MemberService.class); }