4.2.1 싱글톤 빈
2장 자바 EE 기초에서 무상태성/상태성 빈을 간단한 애너테이션 설정으로 만들어 썼던 걸 기억하시죠? 싱글톤도 비슷합니다. 클래스에 @Singleton을 붙이면 그냥 싱글톤 빈으로 둔갑합니다(코드 4-7).
코드 4-7 @Singleton으로 구현한 싱글톤 패턴
package com.devchronicles.singleton; import java.util.HashMap; import java.util.Map; import javax.annotation.PostConstruct; import javax.ejb.Singleton; import java.util.logging.Logger; @Singleton public class CacheSingletonBean { private Map<Integer, String> myCache; @PostConstruct public void start(){ Logger.getLogger(“MyGlobalLogger”).info(“시작합니다!”); myCache = new HashMap<Integer, String>(); } public void addUser(Integer id, String name){ myCache.put(id, name); } public String getName(Integer id){ return myCache.get(id); } }