묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
M2 실리콘칩은 자바 버전 어떻게 설치해야하나요? [현재 17.0.7 버전]
M2 실리콘칩은 자바 버전 어떻게 설치해야하나요? [현재 17.0.7 버전] 5:24 부터 따라해도 문제없을까요? 터미널에서 설치하고나면 되돌리는 방법을 몰라요 ㅠㅠ
-
미해결스프링 핵심 원리 - 기본편
ComponentSacn 의 디폴터 설정에 대한 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요? 컴포넌트 스캔에 대한 강의를 듣던 중 궁금해서 테스트를 해보던 중에 이해가 안가는 부분이 있어서 질문을 드립니다.@Configuration@ComponentScanpublic class AutoAppConfig {}강의에서 excludeFilters 설정한 것을 빼고 디폴트 @ComponentScan 을 적용해서 테스트를 해봤습니다....if(beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION) {System.out.println("beanDefinitionName = " + beanDefinitionName + " value = " + beanDefinition);} 바로 위와 같이 전에 테스트했던 코드를 참고해서 내용을 찍어봤는데... beanDefinitionName = autoAppConfig value = Generic bean: class [hello.core.AutoAppConfig$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=nullbeanDefinitionName = applicationContextExtendsFindTest.TestConfig value = Generic bean: class [hello.core.beanfind.ApplicationContextExtendsFindTest$TestConfig$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [D:\400.Projects\01.SpringCore\core\out\test\classes\hello\core\beanfind\ApplicationContextExtendsFindTest$TestConfig.class]beanDefinitionName = applicationContextSameBeanFindTest.SameBeanConfig value = Generic bean: class [hello.core.beanfind.ApplicationContextSameBeanFindTest$SameBeanConfig$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [D:\400.Projects\01.SpringCore\core\out\test\classes\hello\core\beanfind\ApplicationContextSameBeanFindTest$SameBeanConfig.class]beanDefinitionName = statefulServiceTest.TestConfig value = Generic bean: class [hello.core.singleton.StatefulServiceTest$TestConfig$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [D:\400.Projects\01.SpringCore\core\out\test\classes\hello\core\singleton\StatefulServiceTest$TestConfig.class]beanDefinitionName = appConfig value = Generic bean: class [hello.core.AppConfig$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [D:\400.Projects\01.SpringCore\core\out\production\classes\hello\core\AppConfig.class]beanDefinitionName = coreApplication value = Generic bean: class [hello.core.CoreApplication$$SpringCGLIB$$0]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [D:\400.Projects\01.SpringCore\core\out\production\classes\hello\core\CoreApplication.class]beanDefinitionName = rateDiscountPolicy value = Root bean: class [null]; scope=; abstract=false; lazyInit=null; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=applicationContextExtendsFindTest.TestConfig; factoryMethodName=rateDiscountPolicy; initMethodNames=null; destroyMethodNames=[(inferred)]; defined in class path resource [hello/core/beanfind/ApplicationContextExtendsFindTest$TestConfig.class]...위와 같이 root 패키지 내의 모든 빈이 등록되는 것 같았습니다. 예상으로는 @Component, @Configuration 이 붙어 있는 빈들만 등록될 줄 알았는데 왜 이렇게 나오는 걸까요?
-
미해결스프링 핵심 원리 - 기본편
@Configuration 관련하여 질문 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. public class BeanLifeCycleTest {@Test public void lifeCycleTest(){ConfigurableApplicationContext ac1 = new AnnotationConfigApplicationContext(LifeCycleConfig.class);// ConfigurableApplicationContext ac2 = new AnnotationConfigApplicationContext(LifeCycleConfig.class); NetworkClient client1 = ac1.getBean("networkClient",NetworkClient.class); NetworkClient client2 = ac1.getBean("networkClient",NetworkClient.class); System.out.println(client2); System.out.println(client1); Assertions.assertThat(client1).isSameAs(client2); ac1.close(); ac1.close(); }// @Configuration static class LifeCycleConfig{// @Bean @Bean(initMethod = "init" , destroyMethod = "close")public NetworkClient networkClient(){NetworkClient networkClient = new NetworkClient(); networkClient.setUrl("http:://hello-spring.dev"); me(); return networkClient; }public void me(){System.out.println("test"); }}}다음과 같이 @Configuration을 지웠다 넣었다 해보면서이전에 배운 싱글톤에 대한 테스트를 해보고 있는데요 제 생각에 @Configuration을 빼면 빈에 등록 한번 등록된 객체의 값을 참조해서 가져오기만 하는 싱글톤 방식과 다르게 객체를 계속 생성해서 테스트 코드도 통과하면 안되고 connect도 두번 일어야 한다고 생각했습니다. 하지만 계속 테스트 코드를 통과하는 상황입니다. 제가 왜 이런걸까요?
-
미해결스프링 핵심 원리 - 기본편
Assertions.assertThat() 오류
안녕하세요!Assertions.assertThat() 에서 오류가 나는데, 해결이 안되어 질문드립니다!< 오류 화면 > < 시도한 것 > import org.assertj.core.api.Assertions.*;import static org.assertj.core.api.Assertions.*;둘 다 해도 계속 오류가 뜨네요 ㅠㅠ 이렇게 뜨길래 라이브러리에 추가하고Reload 까지 해봤는데 여전히 import가 안됩니다 !! < 그 외 코드 첨부 > 뭐가 문제일까요 ??? ㅠㅠㅠㅠㅠ 어디를 수정해야될지 모르겠습니다..!!
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)
여러 가지 보조 스트림 클래스들
여러가지 보조 스트림 클래스들 강의에서 BufferedInputStream과 BufferedOutputStream 예제에 왜 while( ( i = bis.read()) != -1){ bos.write(i); }-1로 두는지 잘 이해가 되지 않습니다
-
미해결스프링 핵심 원리 - 기본편
gradle이 아닌 maven 프로젝트 open 방법
안녕하세요. 강의 중 프로젝트를 처음 열 때, 여는 방법에 대해 알려주셔서 관련하여 질문드립니다.프로젝트가 gradle인 경우, 해당 프로젝트 내의 build.gradle 파일을 선택해 open하는 것으로 알려주셨는데요. maven의 경우에는 어떤 방법으로 여는 것이 올바르게 여는 것인지 궁금합니다.기존에 gradle 프로젝트를 열었을 때에는 프로젝트 경로에 들어가 해당 프로젝트를 바로 여는 방식으로 했는데 이 방법이 올바르게 여는 방법이 아닌지도 함께 질문드립니다.감사합니다.
-
미해결스프링 핵심 원리 - 기본편
프로젝트 open 방법
안녕하세요. 강의 중 프로젝트를 처음 열 때, 여는 방법에 대해 알려주셔서 관련하여 질문드립니다. 프로젝트가 gradle인 경우, 해당 프로젝트 내의 build.gradle 파일을 선택해 open하는 것으로 알려주셨는데요. maven의 경우에는 어떤 방법으로 여는 것이 올바르게 여는 것인지 궁금합니다. 기존에 gradle 프로젝트를 열었을 때에는 프로젝트 경로에 들어가 해당 프로젝트를 바로 여는 방식으로 했는데 이 방법이 올바르게 여는 방법이 아닌지도 함께 질문드립니다.감사합니다.
-
해결됨스프링 핵심 원리 - 기본편
로그가 갑자기 안나옵니다 ㅠㅠㅠㅠ
강의들으면서 라이브 코딩 계속 진행했는데... 어느순간 부터 로그가 안나옵니다 ㅠㅠㅠㅠ위 그림처럼 로그가 나와야 하는데...아래처럼 실행해도 로그가 안나옵니다 ㅠㅠㅠ 도와주세요 ㅍ
-
해결됨스프링 핵심 원리 - 기본편
빈 생성 로그가 보이지 않아요
안녕하세요!강의를 따라하고 있었는데 선생님은 OrderApp MemberApp을 실행하면 빈생성 로그가 보이는데 저는 보이지 않습니다.추가적으로 프로퍼티파일에 로그찍히도록 설정해줘도 되지않아요ㅜㅜ 해결할 방법이 있을까요?감사합니다!
-
미해결스프링 핵심 원리 - 기본편
Spring boot 사용시 @Configuration 대한 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 이해한 부분은 @ComponentScan은 해당 어노테이션이 붙은 클래스 패키지부터 시작해서 하위 패키지를 모두 뒤지고 @Component 가 붙은 부분을 스프링빈으로 컨테이너에 등록한다는것으로 이해했습니다.그리고 Spring boot의 경우 @SpringBootApplication이 CoreApplication에 붙어있고 해당 어노 테이션은 @ComponetScan 내포하고 있고 그 위치가 프로젝트 최상위에 위치하다보니 결국 @ComponetScan 을 쓸필요가 없어지는것으로 이해했습니다. 이해가 안되는것은 @Configuration 에 대한 내용인데요. @SpringBootApplication 로 들어가보니 @Configuration는 포함하고 있지 않던데 어떻게 Spring boot에서 @Configuration이 사용되는건가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
6-2 Parameter 강의에서 질문이 있습니다
public static void powerByExP(int number, int exponent) {int result = 1;for(int i = 0; i < exponent; i++) {result *= number;}에서 result*=number; 식에대해서 이해가 안됩니다기존에는 for문을 쓰면 i 값이 기재가 되어야 i값이 적용이 되는걸로 알고있는데 result = result * number * ( i ) 인건가요??? 숫자를 대입하면 1 = 1*2 로 2가 나올것같은데 2^3 인 8이 나오는게 이해가 안됩니다.. 제가 for문에 대해서 제대로 이해를 못하고있는걸까요? 위식에서는 i값을 넣은곳이 없는데 어떻게 반복이 되는건지 잘 모르겠습니다...
-
해결됨자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
p.243
VIPCustomer 생성될 때 부모 클래스가 먼저 자동호출 된다면 p.243 힙 메모리 구조 그림에서 부모클래스 멤버변수들이 힙 메모리에 먼저 자리잡아야 하지 않나요?
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
p.237
public class VIPCustomer extends Customer {private int agentID;double saleRatio;public VIPCustomer() {customerGrade = "VIP";bonusRatio = 0.05;saleRatio = 0.1;}public int getAgentID() {return agentID;}}p.236 전페이지 보면 calcPrice()도 오버라이딩 되었는데, p.237 예제에도 적어줘야 하지 않나요? 생략하게되면 메서드 호출시 기존 Customer 클래스의 할인율이 적용되지 않는 calcPrice()가 사용되는걸로 이해하고 있어서 질문드립니다.
-
해결됨스프링 핵심 원리 - 기본편
생성자 주입 시, final 키워드를 넣어야만 할까요?
final 키워드를 넣는 것이 가능하다.하지만, final 키워드를 넣어야만 하는가가 의문입니다. 만약, 생성자 주입 시 final 키워드를 넣어야 하는 이유가 뭔가요 라고 질문 받았을 때 뭐라고 답해야할까요?
-
해결됨스프링 핵심 원리 - 기본편
destroyMethod = "close" 에 대해서 궁금한게 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]destoryMethod = "closed" 라고 하고NetworkClient 클래스에 private void closed() { System.out.println("destroy"); disconnect(); } 이렇게 메소드는 만들었는데 접근제한자가 private 인데도 detoryMethod= "closed"로 사용이 가능한데 이게 접근제한자와는 상관없이 사용가능한 이유를 알고싶습니다..
-
미해결스프링 핵심 원리 - 기본편
SingletonTest.java 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]기본편 - 프로토타입 스코프코드를 입력하던 중SingletonTest.javaa에서 assertions, assertThat에서 에러가 발생하였습니다.그래서 build.gradle에 다음과 같이 코드를 추가하고, reload를 하였음에도해당 오류가 사라지지 않는데, 어떻게 해결하면 될까요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
if문 작성 시 경고문 관련
if 문 작성 시"condition is always true" 이런식으로 경고문이 뜨면서실행이 되지 않는데 어떻게 해결할 수 있을까요?간단한 if문도 실행이 되지 않습니다ㅜㅜ
-
미해결스프링 핵심 원리 - 기본편
초기화, 소멸 인터페이스의 단점에서 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]초기화, 소멸 인터페이스의 단점부분에서 아래의 내용이 언급 되었습니다. 내가 코드를 고칠 수 없는 외부 라이브러리에 적용할 수 없다클래스파일로 컴파일되어있는 수정이 불가한 라이브러리를 받았다고 가정해보자. 이 라이브러리의 초기화와 종료 메서드를 무조건 호출 해주어야 한다. 스프링 빈으로 이미 등록 했는데 우리는 코드를 고칠 방법이 없다. 위에 주어진 예시가 잘 이해가 안가서 좀 더풀어서 설명 가능하실까요?
-
해결됨자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
p.196
안녕하세요.p.196 나혼자 코딩 풀어보니 실행은 되는데 정답 코드랑 조금 다르네요 이렇게 풀어도 괜찮나요? 클래스별로 변수도 잘 나눠서 배치하고 싶은데 그게 잘 안된 것 같고 돌아갈뿐이지 문제가 많은 것 같아서 피드백 한번 부탁드려요!public class Car {int carNum = CarFactory.getCarSerial(); public int getCarNum() {return carNum;}}=====================================================public class CarFactory {private static CarFactory carFactory;private static int carSerial = 1000; public static CarFactory getInstance() {if(carFactory == null) {carFactory = new CarFactory();}return carFactory;} public static int getCarSerial () {return carSerial;} public Car createCar() {carSerial++;return new Car();}}
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
질문드려요
public class Company {private static Company instance = new Company(); private Company() {} public static Company getInstance() {if(instance == null) {instance = new Company();}return instance;}}위에 코드에서 유일한 객체를 생성하면 instance에 참조값이 저장되고,그럼 if(instance == null) 조건문에서 instance에는 참조값이 저장되어 있으므로 null이 아니라서 패스하고 return instance 하게 되는게 맞을까요?만약 유일객체를 먼저 생성하지 않았다면 멤버변수로 private static instance;만 선언하구 함수 호출시에 유일 객체 생성해서 리턴하는 방법으로 사용하면 될까요?객체를 생성하고 나면 인스턴스가 자동초기화된 상태일텐데 null이랑 동등 비교하니 조금 헷갈려서 질문드려요!