전체 글 (179) 썸네일형 리스트형 @ComponentScan은 무슨 역할인가요? @Autowired는 뭐 하는 아이인가요? @ComponentScan은 @Componet가 붙은 모든 클래스를 스프링 Bean으로 등록해준다. 기본적으로 Bean의 이름은 맨 앞글자만 소문자를 사용한다. (ex. MemberService.class -> memberService) 사용자가 이름을 지정하려면 @Component("myMemberService") 이런 식으로 사용하면 된다. ComponentScan을 사용하기 전에는 직접 @Bean으로 설정 정보를 작성했고, 의존 관계도 직접 명시했었다. 이제 의존관계 주입도 @Component가 붙은 클래스 안에서 해결해야 한다. 이 때, 의존관계를 주입하기 위해 @Autowired를 사용한다. @Autowired를 지정하면 스프링 컨테이너가 자동으로 해당 스프링 빈을 찾아서 주입한다. (기본적으로.. Bean이 뭐에요? 그렇다면 객체는 뭔가요? 설명해주세요. 어제 회사에서 Bean이 뭔지 아냐는 질문을 받았다. 정확히 설명할 수 없었다. spring 시작하면 등록되는 설정... 어버버 하다가 대답을 못했다. 역시 기본이 탄탄해야 한다. Q. Bean이 뭔가요? A. 보통, java에서는 class를 생성하고 new를 사용해서 객체를 직접 생성합니다. Spring에서는 개발자가 직접 생성하지 않고 Spring이 객체를 생성해서 관리합니다. 이를 Bean이라고 합니다. 정리하자면, Spring이 만든 객체를 Bean이라고 합니다. Q.그렇다면 class와 객체는 뭔가요? 또, 인스턴스는 뭔가요? A. class는 일종의 설계도 입니다. 기능과 성능을 정의해 놓은 것 입니다. 설계도이므로 실제로 작동하지는 않습니다. 예를 들면, 핸드폰의 설계도입니다. 객체는 구현.. Spring bean 조회 시 같은 타입이 두 개 이상인 경우는 어떻게 해요~? https://jootang2.tistory.com/145 Spring에 등록된 Bean들을 조회해보자~ https://jootang2.tistory.com/144 Spring을 통해 의존관계 주입해보기! https://jootang2.tistory.com/127 Spring에서 순수 Java코드로 의존관계 주입해보기 (OCP,DIP 문제를 어떻게 해결하지?) 원리를 모르고 기능만 사용 jootang2.tistory.com 이전 포스팅에서 bean을 타입으로 조회하는 방법을 알아봤다. 동일한 타입이 두 개 이상인 경우는 어떻게 해야하지!? 먼저 오류가 나는 경우를 보자 @Test @DisplayName("타입으로 조회시 같은 타입이 둘 이상 있으면, 중복 오류가 발생") void findBeanByTyp.. “www.google.com” 을 입력하면 무슨 일이 일어날까? (TCP/IP) https://jootang2.tistory.com/136 웹 브라우저 요청 흐름을 따라가보자 https://jootang2.tistory.com/135 구글 URL을 해석해보자! (https://www.google.com:443/search?q=hello&hl=ko) 실제 구글 URL을 파헤쳐보면서 주소에 어떤 정보들이 담겨져 있는지 알아보자! 준비물 : https://www.google.com:443 jootang2.tistory.com 위 포스팅을 통해서 우리는 웹 브라우저 요청흐름을 따라가봤다. 오늘은 주소창에 "www.google.com"을 입력하면 무슨일이 일어나는 지 알아보자! 인터넷 세상에서는 TCP/IP를 통해 정보를 주고받는다. TCP/IP : 인터넷에서 컴퓨터들이 서로 정보를 주고 받.. Spring에 등록된 Bean들을 조회해보자~ https://jootang2.tistory.com/144 Spring을 통해 의존관계 주입해보기! https://jootang2.tistory.com/127 Spring에서 순수 Java코드로 의존관계 주입해보기 (OCP,DIP 문제를 어떻게 해결하지?) 원리를 모르고 기능만 사용해서 결과물 내기에만 급급했었다. 이제는 결과물을 내는 것 jootang2.tistory.com 전 포스팅에서는 Spring에서 사용할 bean들을 spring의 기능들을 통해서 생성했다. 이제 이 생성한 bean들을 어떻게 조회하는 지 알아보자. 1. bean의 이름으로 조회하기 class Test { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicati.. Spring을 통해 의존관계 주입해보기! https://jootang2.tistory.com/127 Spring에서 순수 Java코드로 의존관계 주입해보기 (OCP,DIP 문제를 어떻게 해결하지?) 원리를 모르고 기능만 사용해서 결과물 내기에만 급급했었다. 이제는 결과물을 내는 것도 중요하지만, 어떻게 작동하는지에 대해서 이해가 필요하다고 생각든다. Spring의 기능을 사용하지 않고 jootang2.tistory.com 이전 포스팅에서는 Spring의 기능을 사용하지 않고 순수 java코드로 의존관계를 주입해봤다. 이제 Spring을 통해서 주입해보겠다! 어노테이션을 통해서 AppConfig를 bean으로 등록하자. @Configuration : 설정 정보 @Bean : spring container에 등록이 된다. @Configuration.. [인프런x코드캠프] 훈훈한 Javascript_15日, 16日 (완강) 오늘로 [인프런x코드캠프] 훈훈한 Javascript 강의를 완강했다. 입사할 때 시작해서 이제 두달이 되어간다. 시간이 정말 빨리 지나간다. 오늘은 구조분해할당을 통해 코드를 보다 간결하게 만들고, localStorage에 값들을 저장해 원하는 경우에만 데이터 통신을 하게 구현했다. 기능 구현하기 전에 깊은복사, 얕은 복사에 대해서 학습했다. 이 부분은 조금 졸면서 들어서 간단하게만 작성하겠다 ㅎㅎ 얕은 복사 : 복사하는 객체 안에 객체가 있는 경우, 완전하게 분리가 되지 않고 객체안 객체에 대해서 수정을 하게되면 원본 값도 같이 바뀌는 복사다. -> 주소값까지만 복사 위 그림은 얕은 복사의 예시이다. shallowCopyTest의 hobby.one 값을 수정하면 원본인 test의 hobby.one값도.. [인프런x코드캠프] 훈훈한 Javascript_14日 오늘은 아주 간단하게 비동기, 동기에 대해서 학습하고 api를 통해서 나의 위치, 날씨를 받아오는 기능을 구현했다. 비동기 동기에 대해서는 아래 영상을 보면 쉽게 이해할 수 있다. 간단하게 말해서 동기는 순차적으로 1번이 끝나고 2번을 실행하고, 2번이 끝난 후 3번을 실행하는 방식이다. 비동기는 1번이 끝나지 않아도 2번을 실행하고, 1 또는 2번이 끝나지 않아도 3번을 실행하는 방식이다. js에서는 fetch, then, catch를 사용해서 비동기적 프로그래밍을 할 수 있다. 먼저 fetch를 통해서 api통신을 한다. const weatherSearch = function (position) { fetch( `https://api.openweathermap.org/data/2.5/weather?l.. 이전 1 2 3 4 5 6 7 8 ··· 23 다음