본문 바로가기
반응형

Spring 의존성 주입3

[Springframework] 게시판 만들기 (기초편 3)- 컴포넌트 VO DAO 를 앞서 해봤습니다. 오늘은 Service와 ServiceImpl을 배워보도록 하겠습니다. 먼저 Service클래스를 먼저 보겠습니다. 방금 Service클래스라고 했지만, 정확히는 인터페이스 입니다. 즉, BoardDAO에 대한 인터페이스 입니다. 해당 코드를 보면 아무것도 없는데(DAO인터페이스인데 DAO클래스에 implement BoardService가 없습니다.), 우리는 ServiceImpl클래스를 구현하여 DAO는 독립된 클래스로 만드려 합니다. 이제 Service구현 클래스를 작성해 보려고 합니다. 이렇게 작성하면 비즈니스 컴포넌트는 다 만든것 입니다. 구현부를 보시면 BoardDAO를 이용하여 작성한것입니다. impl을 작성할때는 service에 있는 모든 메소드를 재정의 해줘.. 2022. 2. 13.
[Spring framework] 스프링 프레임워크 - 의존관계 변경_의존성 주입(3) 우리는 지난번까지 하나의 speaker를 사용했습니다. 하지만 앞서 tv를 처음만들때도 문제가 생겼죠. 바로 다른 speaker로 교체를 위해서는 코드를 수정하느냐, 아니냐로 말이죠 의존성 주입은 그런 상황에서 아주 효과적이게 처리를 할 수 있게 도와줍니다. 현재 sonyspeaker가 있으니 하나의 speaker를 추가하기 위해 Speaker인터페이스를 추가 하도록 하겠습니다. Speaker인터페이스를 하나 만들었습니다. 그리고 우리는 또하나의 Speaker를 만드려 합니다. LgTV만들었을때 처럼요. Speaker인터페이스를 상속하는 AppleSpeaker를 만들었습니다. 그리고 또하나 작업을 해야하는거 안잊으셨죠? 기존 sonySpeaker에도 인터페이스를 상속시켜줘야합니다. 이제 Speaker를 .. 2022. 1. 29.
[spring framework]스프링 프레임워크 DI_의존성주입_생성자 인젝션 (2) 지난번 의존성 주입을 이용해 해결을 하고자 했습니다. 의존성 주입은 [생성자 인젝션]과 [세터 인젝션]두가지가 있습니다. 우리가 xml에 bean을 이용해 클래스를 등록해 놓으면, 컨테이너는 설정파일 (xml)에 등록된 클래스의 객체를 생성할때, 매개변수가 없는 기본생성자를 호출합니다. -> 기본 생상자? SamsungTV() {} 와 같이 ()안에 아무것도 없는것을 말합니다. 그런데, 우리는 기본생성자가 아닌 매개변수가 있는 다른 생성자를 호출 하려합니다. 이것이 [생성자 인젝션]입니다. 위 코드를 SamsungTV클래스에 추가 해봅시다. 우리가 기존에 작성했던것과는 생김새가 다르죠? 위에서 설명한 기본생성자가 아니기 때문입니다. ()안에 Speaker speaker가 추가되었습니다. 그리고 위의 코드.. 2022. 1. 27.
반응형