더북(TheBook)

01 | 스코프

지금까지 만든 코드에서는 일어나고 있는 일에 관한 정보를 출력하지 않으므로, 클래스들 안에 약간의 로그(기록 활동)를 삽입하여 스프링 컨테이너가 해당 클래스들을 생성하고 사용할 때 무슨 일이 일어나는지 알 수 있게 하자(예제 4-1 참고).

 예제 4-1 SearchEngineService.java

package com.apress.isf.spring.service;

 

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

 

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

import com.apress.isf.java.model.Document;

import com.apress.isf.java.model.Type;

import com.apress.isf.java.service.SearchEngine;

import com.apress.isf.spring.data.DocumentDAO;

 

public class SearchEngineService implements SearchEngine {

 

private static final Logger log =

LoggerFactory.getLogger(SearchEngineService.class);

private DocumentDAO documentDAO;

 

public SearchEngineService() {

if (log.isDebugEnabled())

log.debug("SearchEngineService created: " + this);

}

 

public DocumentDAO getDocumentDAO() {

return documentDAO;

}

 

public void setDocumentDAO(DocumentDAO documentDAO) {

if (log.isDebugEnabled())

log.debug("Document DAO set: " + documentDAO);

 

this.documentDAO = documentDAO;

}

 

public List<Document> findByType(Type documentType) {

List<Document> result = new ArrayList<Document>();

for (Document doc : listAll()) {

if (doc.getType().getName().equals(documentType.getName()))

result.add(doc);

}

return result;

}

 

public List<Document> listAll() {

return Arrays.asList(documentDAO.getAll());

}

 

}


신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.