old posting

    [Spring] ResourceLoader 와 Resource

    ResourceLoader 리소스를 읽어오는 기능을 제공하는 인터페이스 ApplicationContext extends ResourceLoader 리소스 읽어오기 파일 시스템에서 읽어오기 클래스패스에서 읽어오기 URL로 읽어오기 상대, 절대 경로로 읽어오기 Resource 추상화 java.net.URL을 추상화 한 것 스프링 내부에서 많이 사용하는 인터페이스 추상화를 한 이유 클래스패스 기준으로 리소스를 읽어오는 기능의 부재 ServletContext를 기준으로 상대 경로로 읽어오는 기능의 부재 새로운 핸들러를 등록하여 특별한 URL 접미사를 만들어 사용할 수는 있지만 구현이 복잡하고 편의성 메소드가 부족하다. 주요 메소드 getInputStream() exitst() isOpen() getDescrip..

    [Spring] AppliacationEventPublisher

    ApplicationEventPublisher 이벤트 프로그래밍에 필요한 인터페이스 제공 옵저버 패턴 구현체 ApplicationContext extends ApplicationEventPublisher publishEvent(ApplicationEvent event) 이벤트 만들기 ApplicationEvent 상승 스프링4.2 부터는 이 클래스를 상속받지 않아도 이벤트로 사용할 수 있다. 이벤트 발생 시키는 방법 ApplicationEventPublisher.publishEvenr(); 이벤트 처리하는 방법 ApplicationListener를 구현한 클래스를 만들어서 빈으로 등록하기 스프링4.2 부터는 @EventListener를 사용해서 빈의 메소드에 사용할 수 있다. 기본적으로는 synchron..

    [Spring] MessageSource

    [Spring] MessageSource

    MessageSource 국제화(i18n) 기능을 제공하는 인터페이스 ApplicationContext extends MessageSource getMessage(String code, Object[] args, String, default, Locale, loc) ... 스프링 부트를 사용한다면 별다른 설정 필요없이 messages.properties를 사용할 수 있다. messages.properties messages_ko_kr.properties ... 릴로딩 기능이 있는 메시지 소스 사용하기

    [Spring] Environment

    Environment 프로파일과 프로퍼티를 다루는 인터페이스 ApplicationContext extends EnvironmentCapable getEnvironment() 프로파일 빈들의 그룹 Environment의 역할은 활성화할 프로파일 확인 및 설정 프로파일 유즈케이스 이 빈은 모니터링 용도이기에 테스트할 때는 필요가 없고 배포할 떄만 등록이 되면 좋겠다. 프로파일 정의하기 클래스에 정의 @Configuration @Profile("test") @Component @Profile("test") 메소드에 정의 @Bean @Profile("test") 프로파일 설정하기 -Dspring.profiles.avtive="test" @ActiveProfiles 프로파일 표현식 ! (not) & (and) |..