전체 글

    [Spring] @Autowired vs @Resource vs @Inject

    🧐 @Autowired, @Resource, @Inject을 사용하는 이유 의존 주입을 위해 사용한다. 특정 Bean 기능을 수행하기 위해 기능에 필요한 특정한 Bean을 참조해야 하는데, 이 때 특정 Bean에 자동 연결을 위해 위 어노테이션들을 사용한다. 😊 @Autowired vs @Resource vs @Inject public class Animal{} @Component public class Dog implements Animal{} @Component public class Cat implements Animal{} 차이 @Autowired private Dog cat //타입 기준 -- Dog 타입으로 연결 @Resource private Dog cat //이름 기준 -- Cat 타입으로..

    [Spring] @Bean 과 @Component 차이

    🧐 @Bean 과 @Component 사용하는 이유? IoC Container는 @Configuration, @Bean, @Component, @Repository, @Service, @Controller가 달린 클래스를 감지하며 빈을 가져오기 위해 빈 스캐닝을 합니다. 대표적으로 빈으로 사용 할 수 있도록 해주는 어노테이션으로 @Bean과 @Component이 있다. (@Configuration은 구성클래스를 만들 때 사용, @Repository, @Service, @Controller는 @Component에 속해있다.) 😊@Bean vs @Component 👉 @Bean @Bean은 개발자가 직접 제어가 불가능한 외부 라이브러리를 사용할 때 사용한다. @Configuration을 선언한 클래스 내부에..

    [Spring] POJO 구성해보기

    🧐 자바로 POJO 구성해보기 (1) POJO클래스를 설계할 때 @Configuration, @Bean을 붙여 자바 구성 클래스를 만들거나, @Component, @Repository, @Service, @Controller를 붙여 자바 컴포넌트를 구성해야합니다. IoC 컨테이너는 위와 같이 애너테이션을 붙인 자바 클래스를 스캐닝하여 POJO 인스턴스를 구성해줄 수 있습니다. 기본적인 POJO를 설계할 때의 원리는, 아래 그림과 같이 Main Class에서 IoC 컨테이너를 생성해주고, 구성 클래스에서 생성된 빈 인스턴스를 가져오는 원리입니다. POJO를 사용하기 위해 다목적 시퀀스 생성기 애플리케이션을 만들어보면, prefix, suffix, initial 세 프로퍼티를 지닌 SequenceGenera..

    [Spring] POJO 란 무엇인가?

    🧐 POJO란? Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어이다. 2000년 9월에 마틴 파울러, 레베카 파슨, 조쉬 맥킨지 등이 사용하기 시작한 용어로서 마틴 파울러는 다음과 같이 그 기원을 밝히고 있다. [1] Plan Old Java Object - 오래된 방식 단순 자바 객체 getter/setter를 가진 단순한 자바 오브젝트 🤔 개발된 이유: EJB의 객체지향적으로 장점인 특성들을 가져와 개발. (EJB란 자바 개발에 있어 로우개발에 신경을 안 쓰고 애플리케이션을 쉽게 만..

    [Spring] 스프링의 심장부 - IoC (제어의 역전)

    🧐 IoC (제어의 역전이란?) 스프링 프레임워크의 심장부 Inversion of Control 간단히 프로그램의 제어 흐름 구조가 뒤바뀌는 것. 스프링의 중요한 개발 개념인 의존성 주입을 이해하기 위해 알고 있어햐하는 개념. 객체 간의 결합도(의존도)를 줄이고 유연한 코드를 작성 할 수 있음. 가독성 및 코드의 중복 해소, 유지보수를 편리하게 도와줌 객체가 자신이 사용할 객체를 스스로 선택하지 않음. 대표적으로 템플릿 메소드 패턴이 있음 🤨 객체 간의 결합도 (의존도) ' 어떤 객체가 다른 객체에 의존하는 정도를 나타낸다.' 코로나 바이러스로 인해 사람들은 항상 마스크를 사용하고 다녀야 합니다. 항상 사용해야하기 때문에 사람과 마스크의 의존도가 높다고 할 수 있습니다. 이를 강결합이라고 부릅니다. 그리..

    [React] JSX 란?

    리액트 앨리먼트는 React.createElent 와 팩토리를 사용하여 만들 수 있습니다. 하지만 리액트 팀은 리액트를 내놓으면서 더 편한 개발을 위해 JSX라는 포맷을 함께 내놓았는데..... 🧐 JSX 란? React.createElement를 번거롭게 입력하는 대신 사용할 수 있는 대안입니다. 자바스크립트의 확장으로 HTML과 비슷한 구문을 사용해 정의 할 수 있습니다. 태그를 사용해 엘리먼트의 타입을 지정하고, 태그의 애트리뷰트는 프로퍼티를 표현합니다. 여는 태그와 닫는 태그 사이에 엘리먼트의 자식을 넣을 수 있습니다. 👍 JSX Tip! 1. 내포된 컴포넌트 JSX에서는 다른 컴포넌트의 자식으로 컴포넌트를 추가할 수 있습니다. (예시) 2. className 자바스크립트에서는 class가 예약어..