본문 바로가기
반응형

spring 공부19

[spring framework]스프링 프레임워크 DI_의존성주입_setter인젝션(5) 앞서 우리는 DI는 생성자를 기반으로 하는 생성자 인젝션과 setter를 기반으로 하는 setter인젝션이 있다고 배웠습니다. 그럼 중간에 다중변수나 의존관계주입은 뭐냐 라고 하실수 있는데, 그건 DI를 할 수 있도록 방법입니다. 방법이라는 말이 안맞긴 하지만, DI를 할때 하나의 생성자만 만들거나? 아니면 하나의 값만 인자로 넘기는것이 아니죠? 여러 생성자를 만들어야하고, 다양한 데이터값을 인자로 전달을 하기위한 방법을 소개한것입니다. 그리고 오늘 DI setter를 기반으로 하는 setter인젝션을 배워볼거예요. 기본적으로 setter인젝션을 하기위해 setter메소드를 추가 하도록 하겠습니다. 코드를 설명하기 앞서 유사한 코드는 지우고 시작하시는게 좋아요. 우리는 크게 powerOn,powerOff.. 2022. 1. 30.
[Spring framework] 스프링 프레임워크 - 의존관계 변경_의존성 주입(3) 우리는 지난번까지 하나의 speaker를 사용했습니다. 하지만 앞서 tv를 처음만들때도 문제가 생겼죠. 바로 다른 speaker로 교체를 위해서는 코드를 수정하느냐, 아니냐로 말이죠 의존성 주입은 그런 상황에서 아주 효과적이게 처리를 할 수 있게 도와줍니다. 현재 sonyspeaker가 있으니 하나의 speaker를 추가하기 위해 Speaker인터페이스를 추가 하도록 하겠습니다. Speaker인터페이스를 하나 만들었습니다. 그리고 우리는 또하나의 Speaker를 만드려 합니다. LgTV만들었을때 처럼요. Speaker인터페이스를 상속하는 AppleSpeaker를 만들었습니다. 그리고 또하나 작업을 해야하는거 안잊으셨죠? 기존 sonySpeaker에도 인터페이스를 상속시켜줘야합니다. 이제 Speaker를 .. 2022. 1. 29.
[spring framework]스프링 프레임워크 DI_의존성주입_다중 변수 맵핑(3) 지난번에 생성자 인젝션을 배웠습니다. 컨테이너는 기본적으로 bean에 등록된 순서대로 객체를 생성하고, 기본 생성자를 호출하게 되어 있습니다. 그럼 순서대로 객체를 생성한다고 했는데, 초기화해야할 멤버변수가 여러개 일때는 어떡해야 할까요? 여러개일때는 당연히 여러개의 값을 한번에 주면 해결이 되겠죠. 한번 해볼까요? SamsungTV클래스에 위를 추가해줍니다. 자 새로운 단어가 보이죠? price라는것이 새로 생겼습니다. 그럼 맨위에 price를 사용한다고 선언을 해줘야 합니다. 위 사진을 보면 private int price를 추가했습니다. 그리고 xml에 변수에 추가한 만큼 엘리먼트를 추가해 주려 합니다. 위와 같이 엘리먼트를 추가해 줍니다. 위에는 없지만 처럼 앞에 id를 적어줘야 합니다! 그리고 .. 2022. 1. 28.
[Spring framework] 스프링 의존성과 DI(DL 과 DI차이) 오늘도 코드로 직접 보면서 공부하기 전에 이론을 알고 가야합니다. 오늘 설명할 것은 의존관계입니다. 우리는 spring framework를 사용중입니다. 스프링의 특징은 객체 생명주기와 의존관계를 컨테이너가 직접 관리 한다는 것입니다. 즉, 컨테이너가 자동으로 관리해주죠. 이것이. [IoC] 제어의 역전입니다. 스프링은 IoC를 크게 두가지 형태로 관리합니다. DL과 DI. 그럼 각각 무엇일까요? DL은 컨테이너가 객체를 생성하면 사용자가 컨테이너에게 객체를 검색하여 사용하는 방법입니다. 이전에 저희가 해봤던 방법이 DL이라고 생각하시면 됩니다. DI는 객체간 의존관계를 설정파일에 등록된걸 바탕으로 컨테이너가 알아서 처리해 줍니다. 그럼 의존 관계를 바꾸려면? 설정파일만 수정하면 됩니다. 그럼 의존관계를.. 2022. 1. 26.
반응형