질문 1. 아래코드에서 ClientBean 이 내부 메서드에서 prototypeBean 을 사용할 수 있는 이유? static class ClientBean{ ... } 의 코드에서는 스프링 빈으로 prototypeBean 을 등록하는 부분이 없는데 어떻게 logic() 메소드에서 prototypeBean.addCount(); 를 사용할 수 있는 것인가요? 🤔 제 생각에는 void singletonClientUsePrototype() 의 코드인 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); 으로 빈으로 등록이 되는 것 같아서 코드를 다음과 같이 수정 후 실행해 보았습니다. AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class); 👉 그러자 실행이 안되는 것을 확인 할 수 있었습니다. 질문 2. singletonClientUsePrototype() 메소드에서 등록된 빈이 ClientBean에 어떻게 영향을 주는 것인가요? 🤔 ClientBean 코드의 ApplicationContext applicationContext; 의 의존성 주입을 통해 이루어지는 것 같은데 이 코드에서는 어떤 것이 applicationContext 에 해당되는 것인가요..? 따로 해당 인스턴스타입으로 등록된 빈이 없는 것 같은데 헷갈립니다ㅜㅜ public class SingletonWithPrototypeTest1 { @Test void singletonClientUsePrototype(){ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); ClientBean client1 = ac.getBean(ClientBean.class); int count1 = client1.logic(); assertThat(count1).isEqualTo(1); System.out.println("count1 = " + count1); ClientBean client2 = ac.getBean(ClientBean.class); int count2 = client2.logic(); System.out.println("count2 = " + count2); assertThat(count2).isEqualTo(1); } @Scope("singleton") static class ClientBean { @Autowired ApplicationContext applicationContext; public int logic() { PrototypeBean prototypeBean = applicationContext.getBean(PrototypeBean.class); 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"); } } }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 프로토타입 빈 요청 시 스프링컨테이너가 새로 생성된다 했는데 그럼 2번 요청하면 스프링컨테이너가 2개 생성되나요?
안녕하세요.. 강의 잘 듣고 있습니다. 궁금한 것은 아래와 같습니다. 1. 기존 프로덕트를 프로토타입으로 만들고 난 뒤에 일어나는 버전 업그레이드의 경우 부분으로 일어나게 될텐데, 이 때 프로토타입을 업데이트하고 업데이트 한 곳을 팀원들(개발, 디자인)과 공유할 수 있는 이력기능(?)이 있을까요? 2. 해당 기능이 없다면, 업데이트 된 부분만 별도로 프로토타입 또는 와이어프레임 페이지를 작성해서 공유하는 것이 협업에 편할까요?
안녕하세요. 피그마 프로토타입 인터렉션에 관해 문의드려요. 피그마에서 프로토타입에서 특정 프레임이나 버튼 등의 이벤트에 관한 이동이나 화면전환 등의 애니메이션은 얼마든지가능한데.. 혹시 페이지내에 삽입한 지도같은 이미지위에서 지도 위치를 따라 가는 선 같은 라인들이 나타나는 모션 애니메이션( 네비게이션에서 길찾기 기능같이)을 구현하고싶은데, 그런 유사한 방법이 가능한가요? 그리고 하단에 나오는 정보 리스트들을 아래로 드래그할때 지도가 좌우로 드래그되다가 특정 리스트항목을 클릭하면 위에 지도가 특정 영역에 마커를 표시해주는 애니메이션도 가능할까요? ( 네이버지도 특정 장소찾기 기능과 유사) 질문이 다소 두서없는 듯 하여 죄송합니다만 답변 부탁드립니다. 감사합니다.
실무에서는 각 프로토타입마다 어떻게 테스트를 진행하는지 궁금합니다. 와이어프레임 단계에서 기능적인 부분에 집중한다고 하셨는데, 그렇다면 이 단계에서 유저 테스트를 진행하고 기능적인 수정을 한 다음 UI디자인에 들어가는 건가요? UI단계까지 완성시켜놓고 테스트를 하면 수정이 너무 번거롭진 않을까요? 스케치 단계의 로우 피델리티 프로토타입(페이퍼 프로토타입)으로 유저 테스트를 하기도 한다고도 들었는데, 실무에서는 그렇게까지는 하는 것 같진 않더라고요.