싱글톤1 static 메소드와 스프링 IoC Singleton 기존의 레거시 코드를 유지보수하던중 의문점이 드는 코드를 발견하였다.전자정부프레임워크와 Mybatis를 기반에서 전역적으로 사용하는 공통 클래스가 abstract public class로 구현되어있고,그 내부의 메소드는 static 형태로 존재하여 전역적으로 해당 method를 사용한다. 그런데, 해당 static 메소드 내부에서 Spring Bean에서 관리하는 @Service 객체를 직접 인스턴스를 생성하여 관련 처리를 하고있는것이다. 만약 위 static 메소드가 단순히 해당 메소드 내부에서 다른 어떠한 의존성을 가지지않는다면 static메소드로서 남아있으면 문제없겠지만, 해당 메소드가 Service 메소드와 의존성을 가진다면, 즉 스프링 컨테이너의 통제를 받는 다른 클래스와 연관을 가진다면 해당 .. 2024. 8. 14. 이전 1 다음