Ioc container, di practice

ioc 컨테이너와 di 구현 연습

UserService.java


class UserService {
    private final Logger logger;

    public UserService(Logger logger) {
        this.logger = logger;
    }

    public String getUser() {
        logger.log("Getting user...");
        return "{ id: 1, name: 'John Doe' }";
    }
}

Logger.java


class Logger {
    public void log(String message) {
        System.out.println("[LOG]: " + message);
    }
}

Main.java

DIContainer.java

  • 실제 객체를 저장하기 위해서는 Map<String, Object>를 사용해야합니다.

  • 클래스 등록을 저장하는 맵과, 생성된 객체를 저장하는 맵이 필요합니다.

  • 싱글턴 개념을 적용하여 인스턴스를 재사용해야합니다.

  • 리플랙션을 사용해야합니다.

Last updated